2014-08-28 3 views
0
unordered_set

에서 찾기위한 요소들 사이의 평등을 지정 그것은 메모리 주소와 같은 또 다른 종류의 평등을 사용하고있는 것 같습니다.내가 정렬되지 않은 세트에서 사용하는 유형 Extended_Expression이, 그리고 평등과 같이 선언

사용할 항등 연산자를 지정하는 가장 간단한 방법은 무엇입니까? 나는 C++로 초보자입니다. 질문이 분명하다면 미안 해요.

+1

동등한 연산자가 괜찮아 보입니다. 어쩌면 당신은 좋은 해싱 함수를 구현하지 않았을 것입니다. – juanchopanza

+0

Hash()가 정의되어 있지만 정렬되지 않은 집합에 의해 자동으로 사용됩니까? 공개 : HashExpr Hash() const {return _hash;} 및 protected : HashEpxr _hash; –

답변

0

unordered_set을 원하는대로 작동 시키려면 유형에 맞게 std::hash을 전문화해야합니다. 예를 들어 여기서 대답을 참조하십시오 https://stackoverflow.com/a/8157967/2558027.

unordered_map과 같이 새로운 모든 정렬되지 않은 컨테이너는 전통적으로 빨강 - 검정 트리를 기반으로하지 않고 해시 테이블을 기반으로합니다. 따라서 대용량 데이터 세트를 매우 빠르고 일정하게 검색 할 수 있습니다.