跳到主要内容

C++ 命名要求: *MoveAssignable * (自 C++11 起)

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

要求

如果满足以下条件,类型 T 满足 *MoveAssignable *:
给定

以下表达式必须有效并具有其指定的效果

表达式返回类型返回值后置条件
t = rvT&t如果 t 和 rv 不引用同一个对象,则 t 的值在赋值前等同于 rv 的值。rv 的新值未指定。

备注

类型不必实现移动赋值运算符即可满足此类型要求:通过值或作为 const Type& 接受其参数的复制赋值运算符将绑定到右值参数。

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

C++ 命名要求: *MoveAssignable * (自 C++11 起)

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

要求

如果满足以下条件,类型 T 满足 *MoveAssignable *:
给定

以下表达式必须有效并具有其指定的效果

表达式返回类型返回值后置条件
t = rvT&t如果 t 和 rv 不引用同一个对象,则 t 的值在赋值前等同于 rv 的值。rv 的新值未指定。

备注

类型不必实现移动赋值运算符即可满足此类型要求:通过值或作为 const Type& 接受其参数的复制赋值运算符将绑定到右值参数。

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