2011-06-13 3 views
2

unordered_map에 대한 사용자 정의 할당 자와 관련하여 몇 가지 문제가 있습니다. 나는 큰 데이터 집합을 가지고 있으며 문자열로 키로 해시 할 필요가있다. 그래서 커스텀 메모리 할당자를 제공하면 속도가 최적화된다는 것을 알게되었습니다. 그러나 나는 그것을 어떻게합니까? (사용자 지정 해시 함수와 관련된 것들이 있지만 사용자 정의 할당 자 사용과 관련하여 아무 것도 찾을 수 없습니다.)tr1의 unordered_map에있는 사용자 정의 할당 자

또한 unordered_map :: size()는 무엇을 반환합니까? 그것은 가장 긴 통제 순서라고 말합니다. 그게 무슨 뜻인지 혼란 스러웠습니다. 버킷 자체의 개수입니까, 아니면 다른 것입니까?

덕분에 많은

+1

성능이나 메모리 사용 공간이 걱정된다면, Boost/stdlib'unordered_map '이 아마도 최선의 선택이 아닐 것입니다. [Google Sparsehash] (http://code.google.com/p/google-sparsehash/) 또는 [MCT] (https://launchpad.net/libmct)로 폐쇄 된 해시를 시도하십시오 (후자에 대한 문서에는 필요에 따라 최상의 해시 테이블 구현 선택). 'size()'는 다른 컨테이너와 마찬가지로 요소의 수를 반환합니다. – doublep

답변