C++ 中的複製並交換慣用語
分配包含 2 個步驟,破壞物件的舊狀態併為其構建新狀態。解構函式用於第一步,而複製建構函式執行第二步。
實現這兩個步驟非常簡單。但是在過載賦值運算子的時候,實現起來很困難。複製並交換慣用語是其解決方案。
此慣用語使用複製建構函式構建資料的一個本地副本。然後使用交換函式將舊資料與新資料進行交換。然後使用解構函式破壞臨時副本。最後我們只剩下新資料的副本。
因此,複製並交換慣用語需要三件事
- 複製建構函式
- 複製建構函式
- 解構函式
- 交換函式。
交換函式是一個非丟擲函式,交換該類(成員)的兩個物件。
注意:你不應使用 std::swap 函式,因為它在內部使用複製建構函式和賦值運算子來實現相同的功能。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP