C++ 中的複製並交換慣用語


分配包含 2 個步驟,破壞物件的舊狀態併為其構建新狀態。解構函式用於第一步,而複製建構函式執行第二步。

實現這兩個步驟非常簡單。但是在過載賦值運算子的時候,實現起來很困難。複製並交換慣用語是其解決方案。

此慣用語使用複製建構函式構建資料的一個本地副本。然後使用交換函式將舊資料與新資料進行交換。然後使用解構函式破壞臨時副本。最後我們只剩下新資料的副本。

因此,複製並交換慣用語需要三件事

  • 複製建構函式
  • 複製建構函式
  • 解構函式
  • 交換函式。

交換函式是一個非丟擲函式,交換該類(成員)的兩個物件。

注意:你不應使用 std::swap 函式,因為它在內部使用複製建構函式和賦值運算子來實現相同的功能。

更新時間: 2019-07-30

232 次瀏覽

開啟你的 職業

完成課程獲得認證

開始
廣告
© . All rights reserved.