c 語言教程 c 在類的方法中被實例化的對象能自動釋放內(nèi)存么?
c 在類的方法中被實例化的對象能自動釋放內(nèi)存么?即使自定義析構(gòu)函數(shù),默認析構(gòu)函數(shù)也將存在并執(zhí)行。當類中有類對象成員時,首先調(diào)用用戶定義的析構(gòu)函數(shù),然后由默認析構(gòu)函數(shù)釋放類對象成員資源。因為指針不屬于
c 在類的方法中被實例化的對象能自動釋放內(nèi)存么?
即使自定義析構(gòu)函數(shù),默認析構(gòu)函數(shù)也將存在并執(zhí)行。
當類中有類對象成員時,首先調(diào)用用戶定義的析構(gòu)函數(shù),然后由默認析構(gòu)函數(shù)釋放類對象成員資源。
因為指針不屬于對象成員,所以默認的析構(gòu)函數(shù)不關(guān)心它。
類B{
public:~B(){
cout<< “B”]}
類a{
public:B MB~a(){]}
void main(){
}
類a中的析構(gòu)函數(shù)不執(zhí)行任何操作,即,它不會釋放類成員MB的資源
!但類B的析構(gòu)函數(shù)仍在執(zhí)行。類對象成員MB的資源釋放是通過使用類A的默認析構(gòu)函數(shù)來實現(xiàn)的。