問題タブ [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.

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

c++ - 移動構築オブジェクトのベクトルの作成

構築中にオブジェクトを移動するコンストラクターを含むクラスがあります。

クラスのオブジェクトは、単一のインスタンスのみが必要な場合に問題なく構築できます。

ただし、タイプ SomeClass のオブジェクトを に配置 (またはプッシュ) することはできませんstd::vector<SomeClass>

オブジェクトを配置できない理由を説明してください。emplace_back使用される完全な転送によりSomeClass、単一のインスタンスを構築できるのと同じ方法で inplace のインスタンスを構築できると思いました。

の構築を可能にするために物事をどのように変更できるかについても説明してくださいstd::vector<SomeClass>

emplace_back私の推測では、コンストラクターの引数は移動によって渡されるため、メソッド内のコンストラクターまでずっと転送されていません。