С++ 11 векторы имеют новую функцию emplace_back. В отличие от push_back, который полагается на оптимизацию компилятора, чтобы избежать копирования, emplace_back использует совершенную пересылку для отправки аргументов непосредственно конструктору для создания объекта на месте. Мне кажется, что emplace_back делает все push_back, но некоторое время он будет делать это лучше (но не хуже).
Какую причину я должен использовать push_back?