問題タブ [emplace]
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 への参照に関する C++11 segfault
次のコードを実行すると、「find()」呼び出しで segfault が発生します。
(-std=c++11 でコンパイル)
ただし、2 番目の emplace_back() 呼び出しが削除された場合、segfault は発生しません。
どうしてこれなの?参照変数を間違って使用していますか? 別の要素をスタックに追加するとトップマップが無効になりますか?
c++ - C++でのunordered_map::emplaceとunordered_map::insertの違いは何ですか?
C++のstd::unordered_map::emplace
との違いは何ですか?std::unordered_map::insert
c++11 - std::move を使用した C++11 push_back() と、既に構築されたオブジェクトに対する emplace_back() の効率
C++ 11では、インプレース構築が可能であるemplace_back()
ため、一般的に(効率の観点から)好まれますが、構築済みのオブジェクトを使用する場合はまだそうですか?push_back()
push_back(std::move())
たとえばemplace_back()
、次のような場合でも優先されますか?
さらに、上記の例で代わりに次のことを行う利点はありますか?
または、ここでの移動は完全に冗長であるか、効果がありませんか?
c++ - デフォルトのコンストラクターを使用してベクトルに配置する
コピー不可および割り当て不可のvector::emplace
オブジェクトをデフォルトで構築し、新しく作成されたオブジェクトへのイテレーターを使用して、オブジェクトで特定のメソッドを使用したいと考えています。クラスのパラメーター化されたコンストラクターはなく、デフォルトのコンストラクターだけであることに注意してください。簡単な例は次のとおりです。
vector::emplace()
新しいオブジェクトを構築しますが、デフォルト以外のコンストラクタへの引数が必要です。vector::emplace_back()
ベクトルの最後に構築されます。
デフォルトの構築で定置する方法はありますか。std::piecewise_construct
おそらくマップの場合と同様に、区分的な構築またはデフォルトの転送を使用する方法はありますか? たとえば、マップの場合、次を使用できます。
ベクトルに似たものはありますか?
c++ - 値をコピーせずに std::map emplace
C++11std::map<K,V>
型には、emplace
他の多くのコンテナーと同様に機能があります。
このコードは宣伝どおりに機能し、をstd::pair<K,V>
直接置き換えますが、 のコピーが作成され、実行されます。key
val
値の型をマップに直接埋め込むことは可能ですか? への呼び出しで引数を移動するよりもうまくできるemplace
でしょうか?
より完全な例を次に示します。