boost::unordered_map<key,value>
をご利用ください。key
はstd::set<int>
です。整数の集合は組込み型ではないので、私は自分自身のハッシュ関数を提供しなければならないと考えました(むしろ、boost's hash_rangeを使うことを考えていました)。boost :: unordered_map - ハッシュstd :: set <int>のカスタムハッシュ関数を指定する必要がありますか?
しかし、私はこのようなハッシュマップを初期化しようとしましたが、ハッシュ関数も等価述語も供給しませんでした。そしてgccは文句を言いませんでした。ここで何が起きてるの? STLコンテナを単独でハッシュするのに十分なブーストは可能ですか?これは私がカスタムハッシュ関数を使用した場合よりも遅くなるでしょうか? boost::hash_range
はどうですか?
ありがとうございます。 the Boost documentationによれば
実際にプログラム全体を実行可能ファイルにリンクしましたか? –
はい、うまく動作します。もともと、私はstd :: mapを使っていました(後でハッシングビジネスをするつもりだと思っています)。そしてunorderered_mapに置き換えました。 – Egon
ああ、申し訳ありませんが、あなたは、標準バージョンではなく、ブーストバージョンについて話しています。気にしないで。もしあなたが好きなら、あなたはまだstdバージョンを使用してboost boostを使うことができます:-) –