여러 곳에서 STL은 해시 테이블 및 공용 데이터 구조를 제공하지 않는다는 것을 읽었습니다. 다른 기존 STL 데이터 구조를 사용하여 이들을 어떻게 구현할 수 있습니까? 당신의 해시 테이블에 대한C++ STL이 해시 테이블과 공용 구조체를 제공하지 않는 이유는 무엇입니까?
답변
이 해시 맵에 대한 std::tr1::unordered_map을 시도 ...이 필요합니다. std :: map은 정렬되어 있으므로 해시만큼 효율적이지는 않습니다. 유니온 데이터 구조가 무엇인지 알 수는 없지만 C++에서 유니온 구조체를 가질 수 있습니다.
EDIT : 또한 여러 가지 해시 맵 구현이 많이 있습니다. 부스트는 unordered map이고 Prasoon은 질문에 1 개를 언급했으며 Google은 sparsehash입니다.
해보십시오 표준 : :지도
'std :: map'는 실제로 해시 테이블이 아닌 이진 트리입니다. SB가 말했듯이'unordered_map'은 해시 테이블입니다. (기술적으로, 표준은 맵을 구현하는 방법을 지정하지 않지만, 표준에 의해 지정된 제약 조건은 2 진 트리를 의미합니다. 이것은 분명히 가장 일반적인 구현입니다. –
이것은 트리 기반이며 해시와 다른 성능 특성을 갖습니다 테이블 (조회는 트리의 경우 로그 시간이고 해시 테이블의 경우 일정 시간입니다.) C++ 0x는 해시 테이블을 기반으로 'unordered_map'을 도입했습니다. 일부 구현체는 원래 STL의 일부 였지만 표준 라이브러리에 포함되지 않은'hash_map '을 제공 할 수 있습니다. –
좋은 점, 감사합니다 :-) – Protostome
- 1. stl이 함수를 멤버로 비교하지 않는 이유는 무엇입니까?
- 2. Silverlight에서 IME 지원을 제공하지 않는 이유는 무엇입니까?
- 3. GCC가 구조체를 최적화하지 않는 이유는 무엇입니까?
- 4. XmlSerializer에서 공용 속성을 serialize하지 않는 이유는 무엇입니까?
- 5. C# 구조체를 상속받을 수없는 이유는 무엇입니까?
- 6. 파이썬이 해시 가능으로 설정되지 않는 이유는 무엇입니까?
- 7. 다음 코드가 원하는 답변을 제공하지 않는 이유는 무엇입니까?
- 8. Controls 컬렉션이 모든 IEnumerable 메서드를 제공하지 않는 이유는 무엇입니까?
- 9. 연결된 해시 테이블과 공개 주소 해시 테이블
- 10. OracleParameter가 ICloneable을 구현하지만 Clone()을 제공하지 않는 이유는 무엇입니까?
- 11. LinkedHashMap에서 인덱스를 통한 액세스를 제공하지 않는 이유는 무엇입니까? 자바 독에서
- 12. 이 셸 명령이 원하는 결과를 제공하지 않는 이유는 무엇입니까?
- 13. 새 파일 ("")이 기존 디렉토리를 제공하지 않는 이유는 무엇입니까?
- 14. magento가 개발자를위한 가이드 또는 매뉴얼을 제공하지 않는 이유는 무엇입니까?
- 15. IEEE vhdl 표준 라이브러리가 STL이 아닌 이유는 무엇입니까?
- 16. XText에서 제공하지 않는 ANTLR의 기능은 무엇입니까?
- 17. memcached가 목록, 설정 또는 해시 테이블을 지원하지 않는 이유는 무엇입니까?
- 18. C의 공용 라이브러리는 무엇입니까?
- 19. 어떻게 관리되지 않는 C++ 프로그램에서 C# 프로그램으로 구조체를 전달합니까?
- 20. 구조체 이름에는 해시 테이블과 벡터가 포함되어 있습니까?
- 21. STL이 많이 바뀌 었습니까?
- 22. C++에서 공용 멤버 아래에 private 멤버를 정의하는 이유는 무엇입니까?
- 23. C# 메서드가 호출되지 않는 이유는 무엇입니까?
- 24. 이 C++ 코드가 작동하지 않는 이유는 무엇입니까?
- 25. 목표 C : NSMutableArray가 작동하지 않는 이유는 무엇입니까?
- 26. C++에서 malloc을 사용하지 않는 이유는 무엇입니까?
- 27. C++ - Array1D &를 반환하지 않는 이유는 무엇입니까?
- 28. WPF가 C++ .NET을 지원하지 않는 이유는 무엇입니까?
- 29. C++에서이 기본값을 허용하지 않는 이유는 무엇입니까?
- 30. 이 코드가 작동하지 않는 이유는 무엇입니까? C++
C++에서'hashmap' 구현에 관심이있을 수 있습니다 : http://epsilon-delta.net/code/hashmap.html –
일반 구조체와 다른 점은 무엇입니까? – Rup
또한보십시오 http://stackoverflow.com/questions/2460387/hash-table-v-s-stl-map-in-c – Clifford