C++ 具名要求:可移动赋值(MoveAssignable) (C++11 起)
来自cppreference.com
指定该类型的实例可以从右值实参赋值。
[编辑]要求
若满足下列条件,则类型 T
满足可移动赋值(MoveAssignable) :
给定
下列表达式必须合法并拥有其指定的效果
表达式 | 返回类型 | 返回值 | 后条件 |
---|---|---|---|
t = rv | T& | t | 若 t 与 rv 不指代同一对象,则 t 的值等价于 rv 在赋值前的值。
|
[编辑]注解
类型不必为满足此类型要求而实现移动赋值运算符:按值或按 const Type&
接收其参数的复制赋值运算符会绑定到右值实参。
若可移动赋值(MoveAssignable) 类实现了移动赋值运算符,则它亦可实现移动语义,以获得“rv
在赋值后的值未指定”这一事实的优势。
[编辑]参阅
(C++11)(C++11)(C++11) | 检查类型是否有移动赋值运算符 (类模板) |
(C++20) | 指定一个类型能从另一类型赋值 (概念) |