Как использовать 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>,

Другие вопросы по тегам