問題タブ [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 投票する
0 に答える
620 参照

c++ - emplace_back による push_back の実装

Cに似たコンテナを設計したいとしstd::vectorます。次のように をpush_back呼び出して実装することをお勧めします。emplace_back

または、代わりに:

?

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

c++ - std::vector の定置のような構造

std::vectorなどの移動コンストラクターまたはコピー コンストラクターを使用せずに、固定サイズのオブジェクトを構築したいとしstd::atomic<int>ます。この場合、基礎となるクラスには、デフォルトのコンストラクター (値を 0 に初期化する) だけでなく、std::atomic引数を取る 1 引数のコンストラクターがあります。int

の作成の一部として引数が最初にベクトルの要素型に変換され、コピーまたは移動コンストラクターが呼び出されるため、initializer_list構文 likeの使用はstd::vector<std::atomic<int>> v{1,2,3}機能しません。Tinitializer_list

特定のケースではstd::atomic<int>、ベクトルをデフォルトで構築し、その後要素を変更できます。

ただし、見苦しく非効率であることに加えて、適切なコンストラクターを呼び出すことによって得られるものと同等の構築後の突然変異を多くのオブジェクトが提供しない可能性があるため、これは一般的な解決策ではありません。

ベクトルの構築で必要な「定位置のような」動作を取得する方法はありますか?

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

c++ - 複雑なオブジェクトの配置

オブジェクトに「配置」機能を実装しようとしています。以下のような構成になっています。size_t とテンプレート タイプをペアにするテンプレート オブジェクトがあります。これをベクターなどの std ライブラリ コンテナーに配置できるようにしたいと考えています。std::pair私のクラスBはデータに関する他の機能を提供するため、私は a を使用していません。

メインのように emplace を呼び出すことができるように、コードをどのように変更する必要がありますか?