Я вижу много кода на работе, где люди используют emplace и emplace_back с временным объектом, например:
struct A {
A::A(int, int);
};
vector<A> v;
vector<A>.emplace_back(A(1, 2));
Я знаю, что вся точка emplace_back должна иметь возможность передавать параметры напрямую, например:
v.emplace_back(1, 2);
Но, к сожалению, это не ясно некоторым людям. Но не останавливайтесь на этом....
Мой вопрос: компилятор способен оптимизировать это и пропустить создание и копирование? Или я действительно пытаюсь исправить эти события?
Для вашей справки... мы работаем с С++ 14.