Existe-t-il un principe pour choisir un par rapport à un autre entre hash_map et map en STL?Quelle est la différence de scénario entre hash_map et map en STL?
2
A
Répondre
3
hash_map
est utile si vous recherchez uniquement des éléments par leur clé. Un cas d'utilisation possible pour un hash_map
serait un dictionnaire. Si les éléments doivent être dans l'ordre map
est le conteneur pour cela.
Et juste pour la clarification (en raison de l'utilisation du mot "STL"): hash_map
ne fait pas encore partie de la bibliothèque standard C++, mais il a été implémenté dans plusieurs compilateurs C++. unordered_map
a été proposé dans le rapport technique C++ 1, et il sera défini dans la prochaine édition de la norme, C++0x.
1
hash_map utilise une table de hachage traditionnelle pour son stockage et une carte utilise un arbre rouge-noir pour son stockage.
Voici une question très similaire:
double possible de [carte vs. hash_map en C++] (http://stackoverflow.com/questions/2189189/map-vs-hash-map -in-c) – jpalecek