命名空间
变体
操作

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

来自 cppreference.cn
 
 
C++ 命名要求
基本
MoveAssignable(可移动赋值)
(C++11)
类型属性
全库范围




Container(容器)
容器元素
迭代器 (Iterator)
流 I/O
格式化器
随机数
并发
范围 (Ranges)
多维视图
其他

 

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

[编辑] 要求

如果满足以下条件,类型 T 满足 MoveAssignable

给定

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

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

rv 的新值未指定。

[编辑] 注意

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

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

[编辑] 另请参阅

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