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

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

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


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

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

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

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

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

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

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