在C++中,析構函數是在對象生命周期結束時自動調用的特殊成員函數,用于釋放對象所占用的資源。析構函數的執行時機有以下幾種情況:
在對象生命周期結束時:當對象的生命周期結束時(比如對象超出作用域,或者通過delete操作符手動釋放對象內存),析構函數會被自動調用。
通過delete操作符手動釋放對象內存:當使用new操作符創建對象,在對象使用完畢后,需要手動調用delete操作符釋放對象內存,此時析構函數會被調用。
對象作為成員變量時,其析構函數會在包含它的類的析構函數執行時被調用。
對象作為數組時,數組中的每個對象的析構函數會被分別調用。
需要注意的是,析構函數的執行順序與構造函數的執行順序相反,即后創建的對象先被銷毀。