До C++11
Я использовал функцию swap-to-back, чтобы избежать накладных расходов на глубокое копирование, например:
vector<vector<Object> > Objects;
for(/* some range */)
{
vector<Object> v;
for(/* some other range */)
{
v.push_back(/* some object */);
}
Objects.push_back(vector<Object>());
Objects.back().swap(v);
}
Как я могу использовать std::move
для перемещения v
в Objects
, чтобы избежать накладных расходов на глубокое копирование вместо swap
?
Я знаю, что здесь есть много обходных путей, таких как мульти-массивы или просто вставка непосредственно в Objects.back()
, но мне нужен пример использования std::move
, чтобы понять это.