2016-04-11 7 views

答えて

2

Foo()は、理論上コンパイラがas-if ruleのためにそれを最適化することを許可されていますが、一時的に作成します。

あなたは

は、コンテナの最後に新しい要素を追加しvector::emplace_backを使用することができます。要素はstd::allocator_traits::constructによって作成されます。通常は、container-newを使用して、コンテナによって提供される場所でその場で要素を構築します。

+0

私のコードで一時変数が作成されるかどうかは疑問です。 – user1701840

+0

質問を編集しましたか、既存の 'emplace_back'参照を見落としましたか?とにかく、 'Foo()'は一時的なものですが、コンパイラはそれを最適化することができます。 – AlexD

関連する問題