«переместить» два вектора вместеC++

Программы на C++. Форум разработчиков
Ответить
Гость
 «переместить» два вектора вместе

Сообщение Гость »


Если у меня есть два вектора и я хочу объединить их в один, я могу сделать это следующим образом:

std::vector a(100); // здесь просто какой-то случайный размер std::vector b(100); a.insert(std::end(a), std::begin(b), std::end(b)); Однако это предполагает копирование, которого я хочу избежать. Есть ли способ использовать семантику перемещения, чтобы объединить их?
Я в этом очень сомневаюсь, поскольку вектор должен быть непрерывным. Однако есть ли способ сделать это с помощью deque?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»