2008-11-03 8 views
2

J'ai écrit un projet C++ dans VS2005, et j'ai utilisé beaucoup de conteneurs STL avec sa STL plus-in. Cependant, j'ai trouvé STL dans VS2005 n'a pas de hash_map, je veux utiliser SGI hash_map. Comment puis-je changer mon projet pour utiliser SGI STL?Comment utiliser sgi hash_table dans VS2005?

Merci pour la méthode de Brian, ça marche! Et c'est simple.

Répondre

2

VS2005 a un hash_map:

#include <hash_map> 
stdext::hash_map 

Si vous voulez encore que vous pouvez download the sgi stl here. Vous devriez pouvoir juste placer le répertoire d'inclusion à l'emplacement de sgi. Il aura préséance sur les répertoires globaux VC++.

0

Je ne sais pas si VS2005 a TR1, mais si elle a (ou si vous décidez d'utiliser un autre compilateur qui l'a), vous pouvez utiliser unordered_map:

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

En outre, pour être complet, GCC (qui avait <hash_map>) a hash_map sur <ext/hash_map> (sur un espace de noms différent). Sur les versions récentes de GCC, vous pouvez également utiliser <tr1/unordered_map>.

Questions connexes