1
對不清楚的標題,實際上我想不出一個簡潔地描述我的問題的標題。包含指向對象的指針的多重集的自定義比較器
但問題很簡單。我有一個Node類。我想通過它的id_字段維護其對象之間的順序。我知道如果我在Node類中重載<運算符或在多重集中提供Comparator對象,我知道製作多重集合<節點>將正確地維護容器中的順序。但是我想申報一個multiset < Node * >容器並想要實現相同的行爲。
這裏是我的節點類定義:
class Node {
int id_;
...
public:
Node() {
...
}
int getId() {
return id_;
}
void setId(int id) {
id_ = id;
}
...
bool operator<(const Node &input) {
return (this->id_ < input.id_);
}
};
我該怎麼辦?
似乎在第一個網站深奧。沒有其他更簡單的方法嗎?或者你可以請一些痛苦和解釋嗎?謝謝! – Prabhakar 2012-08-02 09:46:47
@Prab:它只是一個包裝指針,並將它們解析爲原始謂詞......需要解釋什麼?你知道'std :: less'是如何工作的嗎? –
2012-08-02 09:48:19
是的,但Pred是什麼?我瞭解的其他一切。 – Prabhakar 2012-08-02 09:57:31