2

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

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

4

2 回答 2

2

VS2005 确实有一个 hash_map:

#include <hash_map>
stdext::hash_map

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

于 2008-11-03T02:25:35.967 回答
0

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

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

此外,为了完整起见,GCC(曾经有<hash_map>)具有hash_mapon <ext/hash_map>(在不同的命名空间上)。在最近的 GCC 版本中,您还可以使用<tr1/unordered_map>.

于 2008-11-03T09:43:05.133 回答