我在VS2005中编写了一个C ++项目,并使用了许多带有加号STL的STL容器。但是,我发现VS2005中的STL中没有hash_map,我想使用SGI hash_map。如何更改项目以使用SGI STL?
感谢Brian的方法,它有效!这很简单。
答案 0 :(得分:2)
VS2005确实有一个hash_map:
#include <hash_map>
stdext::hash_map
如果你仍然想要download the sgi stl here。您应该只能将include目录设置为sgi位置。它将优先于VC ++全局包含目录。
答案 1 :(得分:0)
我不知道VS2005是否有TR1,但如果它有(或者如果你以后决定使用另一个有它的编译器),你可以使用unordered_map
:
#include <tr1/unordered_map>
std::tr1::unordered_map mymap;
另外,为了完整性,GCC(曾经有<hash_map>
)在hash_map
上有<ext/hash_map>
(在不同的命名空间上)。在最近的GCC版本中,您还可以使用<tr1/unordered_map>
。