抱歉标题不清楚,实际上我想不出一个简洁地描述我的问题的标题。
但这个问题说起来很简单。我有一个节点类。我想通过它的 id_ 字段来维护它的对象之间的顺序。我知道如果我在 Node 类中重载 < 运算符或在 multiset 中提供 Comparator 对象,则制作 multiset<Node> 将正确维护容器中的顺序。但我想声明一个 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_);
}
};
我该怎么办?