Nei*_*eil 1 c++ stl operator-overloading map
我正在尝试插入地图,其中键是一个类.我已经重载了我的类中的operator <函数,如下所示:
struct MyType
{
int a, b, c;
bool operator<(const MyType& Rhs) const
{
return (a<Rhs.a) || (b<Rhs.b) || (c<Rhs.c);
}
}
Run Code Online (Sandbox Code Playgroud)
但对于某些(唯一)键,值会在地图中被覆盖.
什么是多值键的首选运算符<方法?
改为:
return std::tie(a, b, c) < std::tie(Rhs.a, Rhs.b, Rhs.c);
Run Code Online (Sandbox Code Playgroud)
你需要#include <tuple>.
| 归档时间: |
|
| 查看次数: |
175 次 |
| 最近记录: |