key
이 std::set<int>
인 boost::unordered_map<key,value>
을 사용하고 싶습니다. 정수 집합은 기본 제공 형식이 아니므로 내 자신의 해시 함수를 제공해야한다고 가정했습니다 (또는 boost's hash_range을 사용하려고 생각했습니다).boost :: unordered_map - 해시 std :: set <int>에 대한 사용자 지정 해시 함수를 지정해야합니까?
그러나 해시 함수 나 동등 조건부를 제공하지 않고 해시 맵을 초기화하려고했는데 gcc가 불평하지 않았습니다. 여기서 무슨 일이 일어나고있는거야? STL 컨테이너를 모두 해시 할만큼 충분히 영리합니까? 사용자 지정 해시 함수를 사용하는 것보다 느려질 수 있습니까? boost::hash_range
을 사용하면 어떨까요?
미리 감사드립니다. the Boost documentation 따르면
실제로 전체 프로그램을 실행 파일에 연결 했습니까? –
예, 정상적으로 실행됩니다. 원래 std :: map (나중에 해시 비즈니스를 처리 할 것임)을 사용하여 unordered_map으로 대체했습니다. – Egon
아, 죄송합니다. 표준 버전이 아니라 부스트 버전에 대해 말씀하시는 것입니다. 신경 쓰지 마. 당신은 여전히 std 버전을 사용할 수 있으며 다음과 같은 boost-hasher를 사용할 수 있습니다 :-) –