2008-11-03 75 views
2

我在VS2005中編寫了一個C++項目,並且在STL中使用了大量的STL容器。但是,我發現VS2005中的STL沒有hash_map,我想使用SGI hash_map。我如何改變我的項目以使用SGI STL?如何在VS2005中使用sgi hash_table?

感謝Brian的方法,它的工作原理!而且很簡單。

回答

2

VS2005確實有一個的hash_map:

​​

如果你仍然想雖然你可以download the sgi stl here。您應該能夠將include目錄設置爲sgi位置。它將優先於VC++全局包含目錄。

0

我不知道VS2005有TR1,但如果有(或者,如果你以後決定使用具有它的另一個編譯器),你可以使用unordered_map

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

而且,完整性,GCC (曾用於<hash_map>)在<ext/hash_map>上有hash_map(在不同的命名空間上)。在最近的GCC版本中,您也可以使用<tr1/unordered_map>