Namespaces
Variants

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

From cppreference.net
C++ named requirements

指定该类型的实例可以从 右值 参数进行赋值。

要求

当类型 T 满足 MoveAssignable

给定

以下表达式必须有效且具有其指定效果。

表达式 返回类型 返回值 后置条件
t = rv T& t t rv 不引用同一对象,则 t 的值等价于赋值前 rv 的值。

rv 的新值未指定。

注释

类型无需实现 移动赋值运算符 即可满足此类型要求:接受值传递或 const Type& 参数的 复制赋值运算符 可绑定到右值实参。

如果一个 MoveAssignable 类实现了移动赋值运算符,它也可以实现 移动语义 以利用赋值后 rv 值未指定的特性。

参见

检查类型是否具有移动赋值运算符
(类模板)
指定类型可从另一类型赋值
(概念)