我正在看这个。作者首先operator<()在my_data中定义并表示“一切正常”。添加成员变量后,他说“operator<()并没有真正实现比较操作”。我想知道两者有什么区别,为什么前者是错误的?
struct my_data
{
std::string key;
std::string value;
//first
bool operator<(const my_data data)const {
return key < data.key;
}
};
//second
struct Compare
{
bool operator()(const my_data& l, const my_data& r)
const {
return l.key < r.key;
}
};
Run Code Online (Sandbox Code Playgroud)
从那里
c++ ×1