1.概念
1)移動賦值運算符是一個重載的賦值運算符,參數為自身類的右值引用,返回值自身類的左值引用,由於不拋出任何異常,用noexcept指定(如果定義在類的外面,那么定義也要用noexcept指定)
2.合成移動賦值運算符
3.具有拷貝賦值和移動賦值兩種功能的賦值運算符
此賦值運算符有一個非引用形參,這就意味為使用它時會發生拷貝初始化,遇到左值則使用拷貝構造函數,遇到右值則使用移動構造函數。
第一個賦值中:hp2是一個左值,所以會使用拷貝構造函數來生成臨時對象rhs;
第二個賦值中:move函數創建了一個右值,所以會使用移動構造函數來生成臨時對象rhs,hp2被move調用后就不能再使用了。