深入分析priority_queue和operator()2023年3月11日

点击第一个错误,跟踪到头文件queue里面,发现了priority_queue类的声明如下(汉字部分注释为我后加上去的,如果有错误请指正):

2:自定义一个比较“类”,重载括号,operator (),这这种方式可以由less“继承”。

注意less结构体由binary_function“继承”而来,再查找functional头文件中的binary_function,其声明如下(汉字部分注释为我后加上去的,如果有错误请指正):

priority_queue在对优先级排序的时候需要调用第三个类,并通过它知道哪些元素具有更高的“优先度”。常见的对自定义的复合数据类型使用STL需要比较的时候,用户也可以写自己的“比较类”,重载括号进行用户需要进行的比较。有如下一些实现方式(目前只列得出两种):由此看出了priority_queue中的第三个模板只充当了一个函数指针的作用,

今天下午唐宇问我operator ()是怎么回事,我只怎么做,但是不知道为什么,吃过晚饭回来研究了一下:

文章已创建 769

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部