關於 C++ 的三法則是什麼?
使用 C++ 時,三法則是一個經驗法則。這條法則相當於一種良好的實踐規則,其指出,如果你的類需要任何以下操作
- 一個複製建構函式,
- 一個賦值運算子,
- 或者一個解構函式,
明確定義,那麼它可能會需要全部這三個操作。
這是為什麼?因為如果你的類需要上述任何一個操作,那麼它正在管理動態分配的資源,並且可能會需要其他操作才能成功實現這一點。例如,如果你需要一個賦值運算子,那麼你將建立當前透過引用複製的物件的複製,從而分配資源。你需要使用複製建構函式進行複製,以及使用解構函式釋放這些資源。
廣告