問題タブ [unordered-set]

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 投票する
1 に答える
1337 参照

c++ - C ++ std ::unordered_setSIGFPE例外

私はプログラムを作成しましたが、それを何十回も実行したという事実に非常に面白がっています。複数の実行の結果を書き留めたことがありますが、現在は機能しません。

私は凧として高いと思うかもしれませんし、単にいくつかの行を変更したかもしれないと思うかもしれませんが、プログラムで変更を加えたことを本当に覚えていません。

問題はSIGFPE、入力に応じて、プログラムのさまざまな実行で発生するです。に値を挿入しているstd::unordered_set<Point<T> *>ときに信号が発生しても発生します。

これが私がそのような挿入を行うコードの抜粋です:

valgrindの出力の重要なセクションは次のとおりです。

ここでの問題は、プログラムにゼロ除算が発生する可能性のある計算があるため、これらはこのプロセスに直接関係していませんが、挿入によってバグが隠されている可能性はありますか?または、ポインタを挿入するときに追加の処理を行う必要がありstd::unordered_set<T>ますか?

私はの下x86_64 GNU/Linuxでプログラムをコンパイルしていて、を使用してg++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3います。

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

c++ - std::hashを他のライブラリのタイプに特化する方法

したがって、私が使用するライブラリには列挙型があります(名前はLibEnum)。のが必要ですstd::unordered_setLibEnum、専用ではないというコンパイルエラーが発生しますstd::hash。簡単に記述して値の数(最初の要素は0、2番目の要素は1など)を返すことができますが、この特殊化を正確にどこに置くべきで、どのように見えるべきですか?ライブラリソースを変更できません。

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

c++ - ラムダを使用してハッシュ関数を定義すると例外がスローされます

次のコードはを定義しunordered_setます。コードは問題なくコンパイルされます。ただし、findを呼び出すときにファンクタースローの代わりにラムダ関数を使用します。

libc ++ abi.dylib:例外をスローして終了します

clang ++ -std = c ++ 11 -stdlib = libc ++ -o test test.cpp

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

c++ - find を使用して unordered_set で複数の値を見つける

指定された equal_to 関数 int unordered_set を使用したい サンプル コードは次のようになります。

myEqual 関数によると、「k」と「等しい」「a」、「b」、「c」の 3 つの値がありますが、検索ではイテレータが 1 つしか返されません。とにかくすべての等しい値を見つけることはありますか?

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

python - Pythonでセットの順序がどのように決定されるかを実際に知っている人はいますか?

set()文字列の呼び出しは常に同じ (非アラベト) 順序に解決されるように見えるという点で、ある程度の一貫性があるようです。

とそのごちゃまぜのいとこ

整然とした外観になりset([1,2,3])ます。

一方、次のようなもう少し際どいようなもの

set([9, 6, 7])...のようなものを与えることがあります

...ここで何が起こっているのですか?

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

unordered-set - OCLで順序付きセットを取得するには?

type の結果が得られた場合Set(Integer)、数字は順序付けされていません。というコレクションsortedBy ( expr : OclExpression ) : Sequence(T)で使用できる操作がありますが、このセットに整数しかない場合、使用する式は何ですか?

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

c++ - C++ unordered_set のバイト表現を取得 *なし* シリアライゼーション

分散コンピューティングの設定で、unordered_set を多くのノードに送信したいと考えています。私は、C++ でのシリアライゼーションを認識してboost::serializationいます。シリアル化に関する私の不満はunordered_set、シリアル化されたデータを受け取った後、すべてのノードでデータ構造を再構築するコストに直面していることです。

私の考えは、固定サイズの連続したメモリを割り当て、割り当て後に開始メモリ アドレスを返す unordered_set のカスタム アロケータを作成することです。次に、 のバイト表現を取得してネットワークunordered_set経由で送信し、受信ノードにこのメモリのチャンクがunordered_set.

それはうまくいくでしょうか?私の問題に取り組む別のアイデアはありますか?または、そのようなアロケーターを作成するなど、関連するポインターはありますか? フィードバックをお待ちしております。

ありがとうございました!

0 投票する
8 に答える
53929 参照

c++ - C++で整数のペアの順序付けられていないセットを作成するにはどうすればよいですか?

次のプログラムは、整数のペアの順序付けられていないセットをコンパイルしませんが、整数に対してはコンパイルします。およびそのメンバー関数はユーザー定義型で使用できunordered_setますか? また、どのように定義できますか?

コンパイラ エラー:

エラー: 'std::unordered_set >::unordered_set()' の呼び出しに一致する関数がありません

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

c++ - スマート ポインターと unordered_map、unordered_set など

実際の一意の ID がスマート ポインター構造体/クラスのメンバーである、検索可能な GUID のコレクション (16 バイトとして格納) が必要です。これは、「最後の参照の削除」に基づいて他のオブジェクトによってカウントされ、ポイントされる参照std::shared_ptrです。しかし、私のスマート ポインター クラスのカスタムの性質のため、私は使用したくありませんshared_ptr

std::unordered_mapただし、ポインターのコレクションを保持するためにor std::unordered_set(十分に高速な場合) のようなものを使用したいと考えています。

スマート ポインターのアドレスは一意であるため、ハッシュとして使用するのに適していますが、テーブル内の検索可能なキーを GUID にする必要があります。を使用find(guid)して、正しいスマート ポインターをすばやく見つけることができます。

言葉で説明するのは難しいので、ここにいくつかのコードを示します。

これは、ここのようなカスタム ハッシュ/等価関数で逆参照することで可能になるはずですが、正確な方法はわかりません。