我使用了来自TR1的unsorted_map。我从来不知道STL中的任何数据结构都是哈希映射。我的同事坚持认为STL有hashmap,他不能(或者不愿意)为我找到。有人能判断这个论点吗?
谢谢。
标准c++ 98没有哈希映射,但STL的许多实现,如最初的SGI实现,确实有hash_map类。
SGI STL (GCC的基础)确实有一个hash_map
实现。但是,这不是标准的c++。
在c++ 0x中,有一个unordered_map
和unordered_multimap
,它们通常被实现为哈希映射。
如果你的编译器还没有,你可以使用boost::tr1::unordered_map