C++ named requirements: MoveAssignable (since C++11)
From cppreference.net
C++
C++ named requirements
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
指定该类型的实例可以从 右值 参数进行赋值。
要求
当类型
T
满足
MoveAssignable
时
给定
以下表达式必须有效且具有其指定效果。
| 表达式 | 返回类型 | 返回值 | 后置条件 |
|---|---|---|---|
| t = rv |
T&
|
t
|
若
t
与
rv
不引用同一对象,则
t
的值等价于赋值前
rv
的值。
|
注释
类型无需实现
移动赋值运算符
即可满足此类型要求:接受值传递或
const Type&
参数的
复制赋值运算符
可绑定到右值实参。
如果一个
MoveAssignable
类实现了移动赋值运算符,它也可以实现
移动语义
以利用赋值后
rv
值未指定的特性。
参见
|
(C++11)
(C++11)
(C++11)
|
检查类型是否具有移动赋值运算符
(类模板) |
|
(C++20)
|
指定类型可从另一类型赋值
(概念) |