Namespaces
Variants

C++ named requirements: MoveAssignable (since C++11)

From cppreference.net
C++ named requirements

Указывает, что экземпляр типа может быть присвоен из rvalue аргумента.

Требования

Тип T удовлетворяет требованиям MoveAssignable если

Дано

Следующие выражения должны быть корректными и иметь указанные эффекты.

Выражение Тип возвращаемого значения Возвращаемое значение Постусловия
t = rv T& t Если t и rv не ссылаются на один и тот же объект, значение t эквивалентно значению rv до присваивания.

Новое значение rv не определено.

Примечания

Типу не требуется реализовывать move assignment operator для соответствия этому требованию типа: copy assignment operator , принимающий параметр по значению или как const Type& , будет связываться с rvalue аргументом.

Если класс MoveAssignable реализует оператор перемещающего присваивания, он также может реализовать семантику перемещения , чтобы воспользоваться тем фактом, что значение rv после присваивания не определено.

Смотрите также

проверяет, имеет ли тип оператор перемещающего присваивания
(шаблон класса)
указывает, что тип может быть присвоен из другого типа
(концепт)