hash_map이 STL의 일부입니까?
빠른 질문 ... hash_map이 STL의 일부입니까?
STL 에는 hash_map
.하지만 C ++ 표준 라이브러리 에는 없습니다 .
일반적인 오해 로 인해 C ++ 표준 라이브러리를 "STL"로 생각하거나 도구 체인의 C ++ 표준 라이브러리 구현의 일부를 "STL 구현"으로 생각할 수 있습니다.
그렇지 않습니다.
또한 MSVC ++와 GCC ( hash_map
컴파일러 별 확장으로 구현 됨) 가 std
네임 스페이스에 배치하는 것도 큰 수치입니다 . 이는 매우 오해의 소지가있을뿐만 아니라 표준에 따라 불법입니다. *한숨*
C ++ 11이 도입 std::unordered_map
되었지만 비슷하지 않습니다.
인용 위키 백과 (강조 추가됨) :
로부터 STL의 페이지 :
STL (표준 템플릿 라이브러리)은 C ++ 표준 라이브러리에 부분적으로 포함 된 소프트웨어 라이브러리 입니다.
... 그리고 hash_map 페이지에서
C ++ 프로그래밍 언어
hash_map
에서은 표준 템플릿 라이브러리에있는 해시 된 연관 컨테이너의 이름입니다 . GNU C ++ 컴파일러 및 Microsoft의 Visual C ++와 같은 여러 구현자가 제공합니다. C ++ 표준 라이브러리의 일부는 아니지만 C ++ 기술 보고서 1에는unordered_map
곧 출시 될 C ++ 0x 표준에 포함될 매우 유사한 컨테이너 가 포함되어 있습니다.
간단히 말해서
- 예 , STL의 일부입니다.
- 그러나 그것은 표준 라이브러리의 일부가 아닙니다 .
- 그러나 여러 가지 매우 인기있는 구현에서 지원됩니다.
문제는 STL 이라는 용어에 대해 합의 된 의미가 없다는 것입니다 . 가 hash_map
표준 C ++의 일부? 아니, 그렇지 않습니다. unordered_map
그러나 새로운 C ++ 표준의 일부이며 해싱을 사용하여 구현 된 맵입니다.
예 , STL의hash_map
일부입니다. 그러나C ++ 03 표준 라이브러리의 일부가 아닙니다 .
hash_map은 STL의 일부이지만 표준 C ++ (C ++ 11)의 일부는 아닙니다. 표준 C ++에서 "std :: unordered_map"이라는 hash_map의 유사한 구현이 있습니다. http://www.cplusplus.com/reference/unordered_map/unordered_map/
현재 GNU C ++ 및 MSVC ++는 컴파일러 확장을위한 hash_map과 Boost를 구현했습니다. 한편 SGI에는 hash_map에 대한 자체 구현이 있습니다. 자세한 내용은 http://www.sgi.com/tech/stl/hash_map.html 을 참조하십시오.
아니요 ... Hash_map은 STL 표준의 일부가 아닙니다.
참고 URL : https://stackoverflow.com/questions/5908581/is-hash-map-part-of-the-stl
'programing tip' 카테고리의 다른 글
Django 템플릿 : 거짓이면? (0) | 2020.12.11 |
---|---|
사이트에 포함 된 Javascript를 자동으로 축소 할 수있는 플러그인이 있습니까? (0) | 2020.12.11 |
Rsync include 및 exclude 옵션을 사용하여 패턴별로 디렉터리 및 파일 포함 (0) | 2020.12.11 |
AngularJS에서보기가 업데이트되지 않았습니다. (0) | 2020.12.11 |
Google Maps Container DIV 너비 및 높이를 100 % 설정 (0) | 2020.12.11 |