Come usare sgi hash_table in VS2005?
Domanda
Ho scritto un progetto C ++ in VS2005 e ho usato molti container STL con il suo STL plus-in. Tuttavia, ho scoperto che STL in VS2005 non contiene hash_map, voglio usare SGI hash_map. Come posso modificare il mio progetto per utilizzare SGI STL?
Grazie per il metodo di Brian, funziona! Ed è semplice.
Soluzione
VS2005 ha una hash_map:
#include <hash_map>
stdext::hash_map
Se vuoi ancora farlo, puoi scaricare qui la sgi . Dovresti essere in grado di impostare semplicemente la directory include nella posizione sgi. Avrà la precedenza sulle directory include globali di VC ++.
Altri suggerimenti
Non so se VS2005 ha TR1, ma se ha (o se in seguito decidi di usare un altro compilatore che lo ha), puoi usare unordered_map
:
#include <tr1/unordered_map>
std::tr1::unordered_map mymap;
Inoltre, per completezza, GCC (che in precedenza aveva <hash_map>
) ha hash_map
su <ext/hash_map>
(su uno spazio dei nomi diverso). Nelle recenti versioni di GCC, puoi anche utilizzare <tr1/unordered_map>
.