C++ 具名要求:可移动赋值 (MoveAssignable) (C++11 起)
来自cppreference.com
                    
                                        
                    
                    
                                                            
                    指定该类型的实例可以从右值实参赋值。
要求
若满足下列条件,则类型 T 满足可移动赋值 (MoveAssignable) :
给定
下列表达式必须合法并拥有其指定的效果
| 表达式 | 返回类型 | 返回值 | 后条件 | 
|---|---|---|---|
| t = rv |  T&
 | 
 t
 | 
 若 t 与 rv 不指代同一对象,则 t 的值等价于 rv 在赋值前的值。
  | 
注解
类型不必为满足此类型要求而实现移动赋值运算符:按值或按 const Type& 接收其参数的复制赋值运算符会绑定到右值实参。
若可移动赋值 (MoveAssignable) 类实现了移动赋值运算符,则它亦可实现移动语义,以获得“rv 在赋值后的值未指定”这一事实的优势。
参阅
|    (C++11)(C++11)(C++11)  | 
  检查类型是否有拥有移动赋值运算符  (类模板)  | 
|    (C++20)  | 
  指定一个类型能从另一类型赋值  (概念)  |