問題タブ [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.
c++ - ブースト時のビットセットからビットセットへの順不同 (ハッシュ) マップ
unordered_map
ブーストの によって実装されたキャッシュをa から adynamic_bitset
に使用したいdynamic_bitset
。もちろん問題は、ビットセットからのデフォルトのハッシュ関数がないことです。概念的な問題ではないようですが、技術的な問題を解決する方法がわかりません。どうすればいいですか?
c++ - std::mapとstd::unordered_mapのどちらかを選択する
これでstd
実際のハッシュマップが作成されましたが、実際に存在するシステムで古きunordered_map
良きものを使用したいのはなぜですか(またはいつ) ?すぐには見えない明らかな状況はありますか?map
unordered_map
c++ - g ++でのc ++ unordered_mapコンパイルの問題
Ubuntuでg ++を使用しています
g++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3
私はこのコードを持っています
を使用してコンパイルするとき
エラーが出ました
何か不足していますか?
c++ - boost::unordered_mapの使用方法
私のアプリケーションでは、ハッシュマップを使用する必要があるため、基本クラスのいくつかのインスタンスをboost::unordered_mapに格納するテストプログラムを作成しました。しかし、ベースの派生クラスを返す特殊関数を呼び出してインスタンスに到達したいので、それらの関数のパラメーターをunordered_mapのハッシュキーに使用します。特定のパラメータを持つクラスが見つからない場合、クラスが生成され、マップに保存されます。プログラムの目的は明確ではないかもしれませんが、ここにコードがあります。
問題は、UMAPのサイズがmodnumに等しいことを期待していますが、常にmodnumよりも大きいため、同じパラメーターとHASHCODEを持つインスタンスが複数存在することを意味します。
私の問題の解決策は何ですか?助けてください。
ありがとう
c++ - ベクトルとハッシュテーブルをBoost.Bimapに置き換えます
vector<string>
前者のインデックスへのaとboost::unordered_map<string, size_t>
マッピング文字列を。に置き換えたいと思っていboost::bimap
ます。
どのインスタンスbimap
を使用する必要がありますか?これまでのところ、私は思いついた
しかし、今コレクションタイプを逆にしたかどうかはわかりません。また、リレーションタイプのコレクションを変更する必要があるのではないかと思います。vector_of_relation
私の最良の選択でしょうかset_of_relation
、それともデフォルトで行くのでしょうか?
c++ - C ++ 0x標準ではunordered_mapがありますが、これはブーストunordered_mapとどのように比較されますか?
どちらがより効率的ですか?良いベンチマークはありますか?
c++ - new をオーバーライドするが unordered_map にそれを使用しないように指示する
私はプログラミングの練習として C/C++ のガベージ コレクターを書いていますnew
。ただし、ガベージ コレクターはunordered_map
(割り当てられたブロックへのポインターを格納するために) も使用し、マップがオーバーライドされた new を使用しようとすると、事態は深刻に混乱します (無限にループしようとします)。それを作成するために、オーバーライドされた new の呼び出しを避けるために、placement new を使用したいと考えました。
(mem_t は私が定義した構造体ですが、関連があるとは思いません。) 実行すると、このコードは unordered_map コンストラクター内でセグメンテーション違反を起こします。プレースメント new を使用すれば問題は解決すると思いましたが、どうやらそうではないようです。unordered_map が内部で new を呼び出していることは確かです。アロケータを与えると (どうすればいいですか?)、この問題は解決しますか? そうでない場合、この問題は修正可能ですか?
c++ - C ++
私は現在、std :: mapに代わるより良い方法を探しており、投稿のタイトルに記載されているクラスに出くわしました。誰かが、パフォーマンス/ APIの観点からではなく、現在および今後の標準との関係でそれらがどこにあるのかという観点から、それらの違いを明確にすることができますか?
c++ - boost :: unordered_map.emplace(Args && ... args)はどのように機能しますか?
ドキュメントによると、それは:
同等のキーを持つ要素がコンテナにない場合にのみ、引数argsで構築されたオブジェクトをコンテナに挿入します。
ただし、unordered_mapに挿入できるオブジェクトはタイプのみです std::pair<Key const, Mapped>
(オブジェクトを挿入するにはキーと値の両方が必要であるため)。これは、正確に2つの引数を持つコンストラクターを取ることが知られています。では、なぜ可変個引数関数形式を使用するのでしょうか。確かに、私がこれについて完全に理解していないことがあります。
c++ - map が unordered_map よりもはるかに高速なのはなぜですか?
State 型のキー (7 つの short int を持つクラス) と type の値Score
(3 つの double 型のクラス) で構成される検索結果のキャッシュを実装しました。なんで?
編集:くそー!私のハッシュ関数は
するのを忘れていたreturn retval
ので、すべて衝突していました!unordered_map に、衝突の平均数を報告する hash_function_quality() 関数があればいいのにと思います。