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