命名空间
变体
操作

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

来自 cppreference.cn
 
 
C++ 命名要求
随机数
(C++11)
并发
(C++11)
(C++11)
(C++11)
(C++14)
(C++11)
(C++11)
(C++17)
(C++14)
范围
多维视图
(C++23)
(C++23)
其他
(C++11)
(C++11)
(C++11)
(C++11)

 

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

[[编辑]] 要求

如果类型 T 满足 MoveAssignable,则

给定

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

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

rv 的新值未指定。

[[编辑]] 注解

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

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

[[编辑]] 参见

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