push_back と emplace_back
push_back と emplace_back の違いを理解するには、push_back のさまざまなオーバーロードの違いを理解することが重要です。
プッシュバックオーバーロード
push_back は、さまざまなデータ型と参照を処理する 3 つのオーバーロードを提供します。
MSVC10 の emplace_back オーバーロード
Microsoft の場合Visual C 10 (MSVC10)、emplace_back には追加の機能があります。オーバーロード:
C 0x の emplace_backオーバーロード
emplace_back の本物の C 0x 定義は大きく異なります:
の利点C 0x の emplace_back
emplace_back の C 0x バージョンには、いくつかの利点があります。
結論
C では、 emplace_back は Push_back 関数への強力な追加機能であり、引数の可変長リストを使用してコンテナ内のオブジェクトを簡単に構築できるようになります。 MSVC10 は emplace_back の非準拠実装を提供しますが、本物の C 0x 実装はパフォーマンスに大きなメリットをもたらし、コンテナ内でのオブジェクトのより効率的な構築を可能にします。
以上が「push_back」と「emplace_back」: いつどちらを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。