移動賦值運算符(c++11)


1.概念

1)移動賦值運算符是一個重載的賦值運算符,參數為自身類的右值引用,返回值自身類的左值引用,由於不拋出任何異常,用noexcept指定(如果定義在類的外面,那么定義也要用noexcept指定)

2.合成移動賦值運算符

  同移動構造函數

3.具有拷貝賦值和移動賦值兩種功能的賦值運算符

  此賦值運算符有一個非引用形參,這就意味為使用它時會發生拷貝初始化,遇到左值則使用拷貝構造函數,遇到右值則使用移動構造函數。

  第一個賦值中:hp2是一個左值,所以會使用拷貝構造函數來生成臨時對象rhs;

  第二個賦值中:move函數創建了一個右值,所以會使用移動構造函數來生成臨時對象rhs,hp2被move調用后就不能再使用了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM