Так что я использую 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 это просто заполнитель / пример ... Я знаю, я могу просто использовать int
в C / C ++ LOL ...