Frage

Ich schrieb ein C ++ Projekt in VS2005, und verwendet viele STL-Container mit seinem Plus-in STL. Allerdings habe ich STL in VS2005 gefunden keine hash_map darin hat, möchte ich SGI hash_map verwenden. Wie kann ich mein Projekt ändern SGI STL verwenden?

Danke für Brian Methode, es funktioniert! Und es ist einfach.

War es hilfreich?

Lösung

VS2005 hat eine hash_map:

#include <hash_map>
stdext::hash_map

Wenn Sie wollen immer noch, obwohl Sie können herunterladen sgi stl hier . Sie sollten in der Lage sein, nur die an der sgi Lage sind Verzeichnis festgelegt. Es wird Vorrang vor dem VC ++ nimmt global Einfügeverzeichnisse.

Andere Tipps

Ich weiß nicht, ob VS2005 TR1 hat, aber wenn es hat (oder wenn Sie später einen anderen Compiler verwenden entscheiden, auf die sie hat), können Sie unordered_map verwenden:

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

Auch für die Vollständigkeit, GCC (die <hash_map> verwendet haben) hat auf hash_map (auf einem anderen Namespace) <ext/hash_map>. Auf den letzten GCC Releases können Sie auch <tr1/unordered_map> verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top