我在VS2005中编写了一个C ++项目,并使用了许多带有加号STL的STL容器。但是,我发现VS2005中的STL中没有hash_map,我想使用SGI hash_map。如何更改项目以使用SGI STL?

感谢Brian的方法,它有效!这很简单。

有帮助吗?

解决方案

VS2005确实有一个hash_map:

#include <hash_map>
stdext::hash_map

如果你仍然想要,你可以在这里下载sgi stl 。您应该只能将include目录设置为sgi位置。它将优先于VC ++全局包含目录。

其他提示

我不知道VS2005是否有TR1,但如果它有(或者如果你以后决定使用另一个有它的编译器),你可以使用unordered_map

#include <tr1/unordered_map>
std::tr1::unordered_map mymap;

另外,为了完整性,GCC(以前有<hash_map>hash_map on <ext/hash_map>(在不同的命名空间上)。在最近的GCC版本中,您还可以使用<tr1/unordered_map>

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top