C++ 概念: MoveAssignable (C++11 起)
来自cppreference.com
说明该类型的实例可以被移动复制(移动)。这意味着该类型拥有移动语义:可以以尽可能小的开销将其内部状态传递给相同类型的另一个实例。
[编辑] 要求
该类型必须满足 CopyAssignable
的要求,或者/并且实现下列函数:
Type::operator=
Type& Type::operator=( Type&& other ); Type& Type::operator=( const Type&& other ); |
(至少实现其中之一) | |
移动赋值操作符:使赋值为 other
的内容。移动操作后 other
的内部状态未指定,然而应该仍是有效的,该类型的不变量应该还是有效的(no invariants of the type are broken)。该函数必须返回 *this
。
下列表达式必须达到所述效果:
表达式 | 效果 |
a = rv; | a 与 rv 等价,a 是 Type 类型的实例、rv 是 Type 类型的右值引用。
|
[编辑] 另请参阅
(C++11) (C++11) (C++11) |
检查对象是否重载了移动赋值运算符 (类模板) |