由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - STL怎样同时重载()和< ?
相关主题
为什么不能成功排序问个c++的template的问题
请教C++ STL中priority_queue模板参数中的Compare函数问个函数指针指向操作符的问题
一个C++ operator new的重载问题一个弱智问题,请大牛看看:找出1000000以内质数数目,要求快
C++ vector 到底能多大[合集] 怎样 使 优先队列 的比较函数参数化 ?
用STL map的时候怎么自己定义大小比较的关系问问Bitmap的问题
请教: 用stable_sort 在VC++下通过但在g++下通不过[合集] 大家是怎么调试带STL模板类的c++程序的?
STL/vector引用成员变量。请教一个系统设计问题
make 时候遇到 undefined reference 怎么办?如何得到位数可变的bitset
相关话题的讨论汇总
话题: pi话题: cmp2话题: 比较话题: stl话题: 队列
进入Programming版参与讨论
1 (共1页)
d******i
发帖数: 7160
1
定义了个优先队列priority_queue, cmp2> pq;
cmp2的格式只能是这样:
class cmp2
{
public:
bool operator()(PI p1, PI p2)
{...
}
}
这样往队列里插入删除没问题了。
可是比较PI元素做比较时居然不work: if(pi 好像用来定义优先队列的比较器没法单独作用在元素比较上。
有没简单的办法让比较也take这个同样的比较器?
谢谢!
p***o
发帖数: 1252
2
你要能动PI就可以在PI里定义operator<, cmp2直接用std::less或者std::greater就好。
不能动就再传个cmp2把。

【在 d******i 的大作中提到】
: 定义了个优先队列priority_queue, cmp2> pq;
: cmp2的格式只能是这样:
: class cmp2
: {
: public:
: bool operator()(PI p1, PI p2)
: {...
: }
: }
: 这样往队列里插入删除没问题了。

d******i
发帖数: 7160
3
呵呵,对的,过了!
谢了啊。
不过不能动PI的话,把cmp2穿给谁呢?

好。

【在 p***o 的大作中提到】
: 你要能动PI就可以在PI里定义operator<, cmp2直接用std::less或者std::greater就好。
: 不能动就再传个cmp2把。

d******i
发帖数: 7160
4
试了,
PI5里定义的<没法作用到
这里的less
priority_queue,less> pq;
必须还要额外定义那个class cmp2传进来啊。
1 (共1页)
进入Programming版参与讨论
相关主题
如何得到位数可变的bitset用STL map的时候怎么自己定义大小比较的关系
为啥 c++ bitset 的大小一定要在编译时给呢?请教: 用stable_sort 在VC++下通过但在g++下通不过
请教如何自己C++编程牛逼些STL/vector引用成员变量。
问个设计模式的问题吧,STL里面make 时候遇到 undefined reference 怎么办?
为什么不能成功排序问个c++的template的问题
请教C++ STL中priority_queue模板参数中的Compare函数问个函数指针指向操作符的问题
一个C++ operator new的重载问题一个弱智问题,请大牛看看:找出1000000以内质数数目,要求快
C++ vector 到底能多大[合集] 怎样 使 优先队列 的比较函数参数化 ?
相关话题的讨论汇总
话题: pi话题: cmp2话题: 比较话题: stl话题: 队列