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.

È stato utile?

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>.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top