Как использовать sgi hash_table в VS2005? - PullRequest
2 голосов
/ 03 ноября 2008

Я написал проект на C ++ в VS2005 и использовал множество контейнеров STL с его дополнительным STL. Тем не менее, я обнаружил, что STL в VS2005 не имеет hash_map, я хочу использовать SGI hash_map. Как я могу изменить свой проект для использования SGI STL?

Спасибо за метод Брайана, он работает! И это просто.

Ответы [ 2 ]

2 голосов
/ 03 ноября 2008

VS2005 имеет hash_map:

#include <hash_map>
stdext::hash_map

Если вы все еще хотите, вы можете скачать sgi stl здесь . Вы должны иметь возможность просто установить каталог включения в местоположение sgi. Он будет иметь приоритет над глобальными каталогами включения VC ++.

0 голосов
/ 03 ноября 2008

Я не знаю, имеет ли 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>.

...