std::map용 키: 요구사항 및 구현
다른 클래스의 객체 매핑을 위해 std::map을 사용할 때 클래스는 키로 사용하려고 하면 유효한 키에 대한 필수 요구 사항을 충족하지 못할 수 있습니다. std::map은 임의의 클래스가 키 역할을 할 수 있는지 또는 특정 요구 사항이 존재하는지에 대한 의문을 제기하는 순서 지정 메커니즘을 사용하여 콘텐츠를 구성합니다.
std::map의 키는 다음을 준수해야 합니다. 요구 사항:
맵의 순서는 세 번째 템플릿 인수 또는 생성자 인수에 의해 제어되며 기본값은 std::less
struct CmpMyType { bool operator()( MyType const& lhs, MyType const& rhs ) const { // Implementation of comparison logic } };
비교 연산자가 엄격한 순서를 정의하는지 확인하세요. CmpMyType()( a, b )가 true를 반환하는 경우 CmpMyType()( b, a )는 false를 반환해야 합니다. 둘 다 false를 반환하면 해당 요소는 동등한 것으로 간주되며 동일한 동등 클래스에 속합니다.
위 내용은 모든 클래스가 std::map의 키 역할을 할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!