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) |
指定一个类型能从另一类型赋值 (概念) |