我在VS2005中編寫了一個C++項目,並且在STL中使用了大量的STL容器。但是,我發現VS2005中的STL沒有hash_map,我想使用SGI hash_map。我如何改變我的項目以使用SGI STL?如何在VS2005中使用sgi hash_table?
感謝Brian的方法,它的工作原理!而且很簡單。
我在VS2005中編寫了一個C++項目,並且在STL中使用了大量的STL容器。但是,我發現VS2005中的STL沒有hash_map,我想使用SGI hash_map。我如何改變我的項目以使用SGI STL?如何在VS2005中使用sgi hash_table?
感謝Brian的方法,它的工作原理!而且很簡單。
VS2005確實有一個的hash_map:
如果你仍然想雖然你可以download the sgi stl here。您應該能夠將include目錄設置爲sgi位置。它將優先於VC++全局包含目錄。
我不知道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>
。