問題タブ [unordered-map]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
2249 参照

c++ - ブースト時のビットセットからビットセットへの順不同 (ハッシュ) マップ

unordered_mapブーストの によって実装されたキャッシュをa から adynamic_bitsetに使用したいdynamic_bitset。もちろん問題は、ビットセットからのデフォルトのハッシュ関数がないことです。概念的な問題ではないようですが、技術的な問題を解決する方法がわかりません。どうすればいいですか?

0 投票する
5 に答える
93952 参照

c++ - std::mapとstd::unordered_mapのどちらかを選択する

これでstd実際のハッシュマップが作成されましたが、実際に存在するシステムで古きunordered_map良きものを使用したいのはなぜですか(またはいつ) ?すぐには見えない明らかな状況はありますか?mapunordered_map

0 投票する
2 に答える
46277 参照

c++ - g ++でのc ++ unordered_mapコンパイルの問題

Ubuntuでg ++を使用しています

g++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3

私はこのコードを持っています

を使用してコンパイルするとき

エラーが出ました

何か不足していますか?

0 投票する
2 に答える
18093 参照

c++ - boost::unordered_mapの使用方法

私のアプリケーションでは、ハッシュマップを使用する必要があるため、基本クラスのいくつかのインスタンスをboost::unordered_mapに格納するテストプログラムを作成しました。しかし、ベースの派生クラスを返す特殊関数を呼び出してインスタンスに到達したいので、それらの関数のパラメーターをunordered_mapのハッシュキーに使用します。特定のパラメータを持つクラスが見つからない場合、クラスが生成され、マップに保存されます。プログラムの目的は明確ではないかもしれませんが、ここにコードがあります。

問題は、UMAPのサイズがmodnumに等しいことを期待していますが、常にmodnumよりも大きいため、同じパラメーターとHASHCODEを持つインスタンスが複数存在することを意味します。

私の問題の解決策は何ですか?助けてください。
ありがとう

0 投票する
1 に答える
2348 参照

c++ - ベクトルとハッシュテーブルをBoost.Bimapに置き換えます

vector<string>前者のインデックスへのaとboost::unordered_map<string, size_t>マッピング文字列を。に置き換えたいと思っていboost::bimapます。

どのインスタンスbimapを使用する必要がありますか?これまでのところ、私は思いついた

しかし、今コレクションタイプを逆にしたかどうかはわかりません。また、リレーションタイプのコレクションを変更する必要があるのではないかと思います。vector_of_relation私の最良の選択でしょうかset_of_relation、それともデフォルトで行くのでしょうか?

0 投票する
4 に答える
1481 参照

c++ - C ++ 0x標準ではunordered_mapがありますが、これはブーストunordered_mapとどのように比較されますか?

どちらがより効率的ですか?良いベンチマークはありますか?

0 投票する
1 に答える
417 参照

c++ - new をオーバーライドするが unordered_map にそれを使用しないように指示する

私はプログラミングの練習として C/C++ のガベージ コレクターを書いていますnew。ただし、ガベージ コレクターはunordered_map(割り当てられたブロックへのポインターを格納するために) も使用し、マップがオーバーライドされた new を使用しようとすると、事態は深刻に混乱します (無限にループしようとします)。それを作成するために、オーバーライドされた new の呼び出しを避けるために、placement new を使用したいと考えました。

(mem_t は私が定義した構造体ですが、関連があるとは思いません。) 実行すると、このコードは unordered_map コンストラクター内でセグメンテーション違反を起こします。プレースメント new を使用すれば問題は解決すると思いましたが、どうやらそうではないようです。unordered_map が内部で new を呼び出していることは確かです。アロケータを与えると (どうすればいいですか?)、この問題は解決しますか? そうでない場合、この問題は修正可能ですか?

0 投票する
3 に答える
11336 参照

c++ - C ++ vs vs vs

私は現在、std :: mapに代わるより良い方法を探しており、投稿のタイトルに記載されているクラスに出くわしました。誰かが、パフォーマンス/ APIの観点からではなく、現在および今後の標準との関係でそれらがどこにあるのかという観点から、それらの違いを明確にすることができますか?

0 投票する
2 に答える
4738 参照

c++ - boost :: unordered_map.emplace(Args && ... args)はどのように機能しますか?

ドキュメントによると、それは:

同等のキーを持つ要素がコンテナにない場合にのみ、引数argsで構築されたオブジェクトをコンテナに挿入します。

ただし、unordered_mapに挿入できるオブジェクトはタイプのみです std::pair<Key const, Mapped>(オブジェクトを挿入するにはキーと値の両方が必要であるため)。これは、正確に2つの引数を持つコンストラクターを取ることが知られています。では、なぜ可変個引数関数形式を使用するのでしょうか。確かに、私がこれについて完全に理解していないことがあります。

0 投票する
4 に答える
11144 参照

c++ - map が unordered_map よりもはるかに高速なのはなぜですか?

State 型のキー (7 つの short int を持つクラス) と type の値Score(3 つの double 型のクラス) で構成される検索結果のキャッシュを実装しました。なんで?

編集:くそー!私のハッシュ関数は

するのを忘れていたreturn retvalので、すべて衝突していました!unordered_map に、衝突の平均数を報告する hash_function_quality() 関数があればいいのにと思います。