, , , .
Cyber, elision , , std:: move.
++ 11, emplace_back - push_back, std:: move (. ), emplace_back ; , , , , , , , :
my_vector.reserve(N);
for (int i = 0; i < N; i++)
{
auto elm = ThirdPartyElm();
my_vector.emplace_back(std::move(elm));
}
: @Chris Drew, , . , , , , -, emplace_back, :
my_vector.reserve(N);
for (int i = 0; i < N; i++)
{
my_vector.emplace_back(ThirdPartyElm());
my_vector.back().initialise();
}
myvector.back() , , .