Что делает перемещение объектов быстрее копирования?C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Что делает перемещение объектов быстрее копирования?

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


Я слышал, как Скотт Мейерс сказал: «std::move() ничего не перемещает»… но я не понял, что это значит.

Чтобы уточнить мой вопрос, рассмотрим следующее:

class Box { /* вещи... */ }; Коробка box1 = some_value; Коробка коробка2 = коробка1; // значение box1 копируется в box2 ... ок Что насчет:

Box box3 = std::move(box1); Я понимаю правила lvalue и rvalue, но чего я не понимаю, так это того, что на самом деле происходит в памяти? Это просто копирование значения каким-то другим способом, обмен адресом или что-то еще? Точнее: что делает перемещение быстрее копирования?

Я просто чувствую, что понимание этого прояснит мне все. Заранее спасибо!

РЕДАКТИРОВАТЬ: Обратите внимание, что я не спрашиваю о реализации std::move() или каких-либо синтаксических вещах.
Ответить

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

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

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

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

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