關於 C++ 的三法則是什麼?


使用 C++ 時,三法則是一個經驗法則。這條法則相當於一種良好的實踐規則,其指出,如果你的類需要任何以下操作

  • 一個複製建構函式,
  • 一個賦值運算子,
  • 或者一個解構函式,

明確定義,那麼它可能會需要全部這三個操作。

這是為什麼?因為如果你的類需要上述任何一個操作,那麼它正在管理動態分配的資源,並且可能會需要其他操作才能成功實現這一點。例如,如果你需要一個賦值運算子,那麼你將建立當前透過引用複製的物件的複製,從而分配資源。你需要使用複製建構函式進行複製,以及使用解構函式釋放這些資源。


更新於: 2020 年 6 月 23 日

115 次瀏覽

助力您的 職業 起航

完成課程,獲得認證

開始學習
廣告