移動語義與右值引用(只能在右邊)
1.移動語義:實際文件還留在原來地方,而只是修改記錄,移動語義實際上避免了移動原始數據,而只是修改了記錄。移動構造函數不能用const修飾如下圖移動構造函數實現:
2.如下圖中r2就是右值引用,即x+y表達式結果是右值引用
3.移動構造函數實現需滿足:
1).右值引用初始化移動構造函數對象如下圖
2).編寫實現移動構造函數
4.移動賦值運算符如下圖
5.強制移動(強制使用移動構造函數)
1.使用std::move()
2.滿足移動構造函數1)2)步
移動語義與右值引用(只能在右邊)
1.移動語義:實際文件還留在原來地方,而只是修改記錄,移動語義實際上避免了移動原始數據,而只是修改了記錄。移動構造函數不能用const修飾如下圖移動構造函數實現:
2.如下圖中r2就是右值引用,即x+y表達式結果是右值引用
3.移動構造函數實現需滿足:
1).右值引用初始化移動構造函數對象如下圖
2).編寫實現移動構造函數
4.移動賦值運算符如下圖
5.強制移動(強制使用移動構造函數)
1.使用std::move()
2.滿足移動構造函數1)2)步