Найти тему
Flanker-D

Семантика перемещения

Семантика перемещения - наиболее важная особенность С++11. В основе семантики перемещения лежит отличие rvalue от lvalue.

В таблице представлено чем является объект, в зависимости от заданного вопроса.

void foo(Object o); // Параметр функции передаётся по значению

Object obj; // o - объект класса Object

foo(obj); // o - копия объекта, созданная копирующим

// конструктором

foo(std::move(obj)); // o - копия объекта, созданная перемещающим

// конструктором