C++ 具名要求:可移动赋值 (MoveAssignable) (C++11 起)

来自cppreference.com
< cpp‎ | named req
 
 
C++ 具名要求
基础
MoveAssignable
(C++11)
类型属性
库所属
容器
容器元素
(C++11)

迭代器
流 I/O
格式化
(C++20)
随机数
(C++11)    
并发
(C++11)
(C++11)
范围
其他
(C++11)


 

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

要求

若满足下列条件,则类型 T 满足可移动赋值 (MoveAssignable)

给定

下列表达式必须合法并拥有其指定的效果

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

rv 的新值未指定

注解

类型不必为满足此类型要求而实现移动赋值运算符:按值或按 const Type& 接收其参数的复制赋值运算符会绑定到右值实参。

可移动赋值 (MoveAssignable) 类实现了移动赋值运算符,则它亦可实现移动语义,以获得“rv 在赋值后的值未指定”这一事实的优势。

参阅

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