C++ 命名要求: MoveAssignable (C++11 起)
来自 cppreference.cn
指定该类型的实例可以从右值参数进行赋值。
[编辑] 要求
如果满足以下条件,类型 T
满足 MoveAssignable:
给定
以下表达式必须有效并具有其指定的效果。
表达式 | 返回类型 | 返回值 | 后置条件 |
---|---|---|---|
t = rv | T&
|
t
|
如果 t 和 rv 不引用同一对象,则 t 的值在赋值前等同于 rv 的值。
|
[编辑] 注意
该类型不必实现移动赋值运算符即可满足此类型要求:以值或 const Type&
形式接受参数的复制赋值运算符将绑定到右值参数。
如果 MoveAssignable 类实现了移动赋值运算符,它还可以实现移动语义,以利用赋值后 rv
的值未指定的事实。
[编辑] 另请参阅
(C++11)(C++11)(C++11) |
检查类型是否有移动赋值运算符 (类模板) |
(C++20) |
指定类型可从另一类型赋值 (概念) |