Pregunta

Escribí un proyecto C ++ en VS2005, y usé muchos contenedores STL con su STL más. Sin embargo, encontré que STL en VS2005 no tiene un hash_map, quiero usar SGI hash_map. ¿Cómo puedo cambiar mi proyecto para usar SGI STL?

Gracias por el método de Brian, ¡funciona! Y es simple.

¿Fue útil?

Solución

VS2005 tiene un hash_map:

#include <hash_map>
stdext::hash_map

Si aún así lo desea, puede descargue el sgi stl aquí . Debería poder establecer el directorio de inclusión en la ubicación sgi. Tendrá prioridad sobre los directorios de inclusión global de VC ++.

Otros consejos

No sé si VS2005 tiene TR1, pero si lo tiene (o si luego decide usar otro compilador que lo tenga), puede usar unordered_map:

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

Además, para completar, GCC (que solía tener <hash_map>) tiene hash_map en <ext/hash_map> (en un espacio de nombres diferente). En versiones recientes de GCC, también puede usar <tr1/unordered_map>.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top