키가 클래스 인지도에 삽입하려고합니다. 나는 아래로 내 클래스의 연산자 < 기능을 오버로드했습니다 다중 필드 클래스에 대해 연산자 <을 (를) 오버로드
struct MyType
{
int a, b, c;
bool operator<(const MyType& Rhs) const
{
return (a<Rhs.a) || (b<Rhs.b) || (c<Rhs.c);
}
}
그러나 특정 (독특한) 키
는, 값은 맵에 덮어 쓰기되고있다.다중 값 키에 대해 선호 연산자 <은 무엇입니까?
튜플을 사용하는 Defining operator< for a struct을 본 적이 있지만 가능하다면 오히려 장시간 씁니다.
. 이 클래스는 작성된대로'std :: map'의 키로서 사용하면 안됩니다. –
@KerrekSB 엄격한 약한 주문이란 무엇입니까? – Neil
[인터넷에서 발견 할 수있는] 것 (http://en.wikipedia.org/wiki/Strict_weak_ordering) :-) 또는이 웹 사이트에서 수 백개의 사본을 검색하십시오. –