問題タブ [stdset]
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++ - std::weak_ptrの2つのセットを比較する
weak_ptr
GCC4.7.2を使用して2セットのC++11を比較しようとしています。以下のコードは、エラーを再現する可能な最小のサンプルを示しています。
上記をコンパイルしようとすると、エラーの長いリストが生成されます。そのうちの最初の実際のエラーは次のとおりです。
の一時的な性質のために、weak_ptr
それらのセット全体を比較することは不可能ですか?
アップデート:
1つの提案は使用することです:
これにより、次のようになります。
c++ - std::map を有効にする O(1) 方法はありますかstd::set に
キーを事前に std::set<> に複製せずに、 std::map<> インスタンスのキーに対していくつかの集合交差操作を実行したいと思います。
API には記載されていませんが、O(1) 時間で std::map<> からキーを抽出して std::set<> に入れる方法はありますか?
c++ - C++ のセット内の find_if: 未解決のオーバーロードされた関数型
以前、C++ のリストとベクトルで find_if を使用したことがありますが、うまくいきました。しかし、今、セットで使用しようとすると、次のエラーが発生します。
私のクラスは次のとおりです。
問題がどこにあるかを理解するのを手伝ってくれる人はいますか?
c++ - すべての列挙型をstd::setにエレガントに配置する方法
私は列挙型を持っていて、それらすべてをセットに入れたいです(そして、set_intersectionアルゴリズムでいくつかを削除しますが、それはオフトピックです)。ステップ1で立ち往生しているImを除いて、すべてうまく機能します。:)
私が持っている場合(実際のクラスはより高いカーディナリティを持つ列挙型を持っています)
std::set<MyClass::Color>
すべての列挙型を含めるにはどうすればよいですか。
私は明らかにそれらを1つずつ手動で挿入し、それらが連続していて0から始まるのでキャストでforループを実行できます(列挙型の定義で=を使用しない場合は必要だと思います)が、よりエレガントな方法を探しています。
編集:問題の現在のインスタンスがそれを必要とするので、可能であればC ++ 03ソリューションを好みますが、そうでない場合はC++11も知っておくとよいでしょう。
c++ - 一時的な値を作成せずに std::map を挿入する
次のように、文字列と double のセットを格納するマップがあります。
特定のキーの価格を挿入する方法が必要で、次のコードを書きました。
特に、一時セットを作成する最初の部分を改善する方法はあるのでしょうか。
c++ - C++ std::set カスタム コンパレータ
さて、私の問題は、次のようなカスタムコンパレータで std::set を使用していることです。
だから、私はそれを次のように使用します
今私の問題は、私がこれをしたいということです:
ただし、もちろん、short int ではなく A* を除きます。
したがって、std::find_if を使用できることはわかっていますが、カスタム コンパレータが役に立たなくなるのではないでしょうか? リスト全体を反復しますよね?オブジェクト自体ではなく、hashCode で find を使用できる方法はありますか?
ありがとうございました!