MoveAssignable (начиная с C++11) — cppreference.com
Материал из cppreference.com
Определяет, что экземпляр этого типа может быть приравнен к rvalue аргументу.
Требования
Тип T удовлетворяет MoveAssignable если
Даны:
t, изменяемое lvalue expression типаTrv, rvalue выражение типаT
Эти выражения должны быть допустимыми и иметь следующие эффекты:
| Выражение | Возвращаемый тип | Возвращаемое значение | Постусловия |
|---|---|---|---|
t = rv
|
T&
|
t
|
Если t и rv не ссылаются на один и тот-же объект , то значение t равно значению rv до приравнивания.
Новое значение |
Примечания
Тип не обязан обеспечивать move assignment operator чтобы удовлетворять этому требованию к типу: copy assignment operator который принимает параметр по значению или как const Type&, который будет связан с rvalue аргументом.
Если MoveAssignable класс имеет оператор перемещения, он также может реализовать move semantics чтобы реализовать преимущества того факта, что значение rv после присваивания неопределено.