質問

VS2005でC ++プロジェクトを作成し、プラスインSTLで多くのSTLコンテナを使用しました。ただし、VS2005のSTLにはhash_mapが含まれていないことがわかったため、SGI hash_mapを使用します。 SGI STLを使用するようにプロジェクトを変更するにはどうすればよいですか?

ブライアンの方法のおかげで、うまくいきました!そしてそれは簡単です。

役に立ちましたか?

解決

VS2005にはhash_mapがあります:

#include <hash_map>
stdext::hash_map

引き続きここからsgi stlをダウンロードできます 。 includeディレクトリをsgiの場所に設定するだけでよいはずです。 VC ++グローバルインクルードディレクトリよりも優先されます。

他のヒント

VS2005にTR1があるかどうかわかりませんが、TR1にある場合(または後で別のコンパイラを使用することにした場合)、unordered_map

を使用できます
#include <tr1/unordered_map>
std::tr1::unordered_map mymap;

また、完全を期すため、GCC(以前は<hash_map>でした)にはhash_map on <ext/hash_map>(別のネームスペース)があります。最近のGCCリリースでは、<tr1/unordered_map>も使用できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top