使用hash_map和unordered_map运行C ++程序

时间:2013-12-16 15:11:06

标签: c++ hashmap unordered-map

我知道包含unordered_map的C ++程序可以使用'g ++ -std = c ++ 0x filename'运行,但是如果使用hash_map生成相同的程序会显示错误?需要做些什么改变?

1 个答案:

答案 0 :(得分:1)

你最好使用std::unordered_map,因为这是标准的。 hash_map是来自STL的容器,STL是标准C ++库的广泛使用的前体,但未包含在1998标准库中。它被重命名为unordered_map以包含在2011标准库中,以避免与旧的非标准实现的兼容性问题。

如果您真的想出于某种原因使用旧的STL hash_map,那么GCC会在<backward/hash_map> namespace __gnu_cxx中提供它。

或者,您可以从http://www.sgi.com/tech/stl/download.html获取STL。然后,您将包含<hash_map>并在全局命名空间中使用hash_map