STL中hash_map和map之间的场景差异是什么?

时间:2010-07-27 09:31:56

标签: c++ stl

是否有任何原则可以在STL中的hash_map和map之间选择一个?

2 个答案:

答案 0 :(得分:3)

如果您只按其键查找元素,则

hash_map非常有用。 hash_map的可能用例是字典。如果元素需要按顺序map是容器。

只是为了澄清(因为使用了“STL”这个词):hash_map还不是C ++标准库的一部分,但它已在几个C ++编译器中实现。 {C}技术报告1中提出了unordered_map,它将在下一版标准C++0x中定义。

答案 1 :(得分:1)

hash_map使用传统的hash_table作为存储空间,而地图使用红黑树作为存储空间。

这是一个非常相似的问题:

map vs. hash_map in C++