【发布时间】:2009-10-05 01:06:40
【问题描述】:
所以我将 STL priority_queue 与指针一起使用...我不想使用值类型,因为创建一堆仅用于优先级队列的新对象将非常浪费。所以...我正在尝试这样做:
class Int {
public:
Int(int val) : m_val(val) {}
int getVal() { return m_val; }
private:
int m_val;
}
priority_queue<Int*> myQ;
myQ.push(new Int(5));
myQ.push(new Int(6));
myQ.push(new Int(3));
现在我如何编写一个比较函数来让那些在 Q 中正确排序?或者,有人可以提出替代策略吗?我真的需要 priority_queue 接口并且不想使用复制构造函数(因为大量数据)。谢谢
编辑: Int 只是一个占位符/示例...我知道我可以在 C/C++ 中使用 int 大声笑...
【问题讨论】: