Как использовать sgi hash_table в VS2005?
Я написал проект на C++ в VS2005 и использовал много контейнеров STL с его дополнительным STL. Тем не менее, я обнаружил, что STL в VS2005 не имеет hash_map, я хочу использовать SGI hash_map. Как я могу изменить свой проект для использования SGI STL?
Спасибо за метод Брайана, это работает! И это просто.
2 ответа
VS2005 имеет hash_map:
#include <hash_map>
stdext::hash_map
Если вы все еще хотите, вы можете скачать sgi stl здесь. Вы должны иметь возможность просто установить каталог включения в местоположение sgi. Он будет иметь приоритет над глобальными каталогами включения VC++.
Я не знаю, имеет ли 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>
,