キーがクラスであるマップに挿入しようとしています。以下のように、クラスで operator< 関数をオーバーロードしました。
struct MyType
{
int a, b, c;
bool operator<(const MyType& Rhs) const
{
return (a<Rhs.a) || (b<Rhs.b) || (c<Rhs.c);
}
}
ただし、特定の (一意の) キーについては、値がマップで上書きされています。
複数値キーに推奨される operator< メソッドは何ですか?
タプルを使用する構造体の定義演算子 < を見たことがありますが、できれば長い手で書きたいと思います。