Tag Archives: emplace_back

emplace_backでムーブコンストラクタがあるのにコピーコンストラクタが呼ばれる

puch_backよりもemplace_backがいいと言われていて実験したら、push_backだとコピーコンストラクタが呼ばれないのに、emplace_backだと呼ばれる現象が発生。

結論

ムーブコンストラクタにnoexceptをつければコピーコンストラクタの代わりにムーブコンストラクタが呼ばれる。

ソース:https://github.com/ambiesoft/blogprogs/tree/master/5767