回覆列表
-
1 # 使用者4023829977379356
-
2 # DevilMayCry203604899
解構函式(destructor) 與建構函式相反,當物件結束其生命週期,如物件所在的函式已呼叫完畢時,系統自動執行解構函式。解構函式往往用來做“清理善後” 的工作(例如在建立物件時用new開闢了一片記憶體空間,delete會自動呼叫解構函式後釋放記憶體)。
解構函式(destructor) 與建構函式相反,當物件結束其生命週期,如物件所在的函式已呼叫完畢時,系統自動執行解構函式。解構函式往往用來做“清理善後” 的工作(例如在建立物件時用new開闢了一片記憶體空間,delete會自動呼叫解構函式後釋放記憶體)。
解構函式主要作用就是釋放資源,避免記憶體洩漏。
1、解構函式(destructor) 與建構函式相反,當物件結束其生命週期時(例如物件所在的函式已呼叫完畢),系統自動執行解構函式。解構函式往往用來做“清理善後” 的工作(例如在建立物件時用new開闢了一片記憶體空間。
2、解構函式如果我們不寫的話,C++ 會幫我們自動的合成一個,就是說:C++ 會自動的幫我們寫一個解構函式。很多時候,自動生成的解構函式可以很好的工作,但是一些重要的事蹟,就必須我們自己去寫解構函式。
3、按照 C++ 的要求,只要有 new 就要有相應的 delete 。這個 new 是在構造函數里 new 的,就是出生的時候。所以在死掉的時候,就是呼叫解構函式時,我們必須對指標進行 delete 操作。