1 回答
已采納

onemoo
TA貢獻883條經驗 獲得超454個贊
準確地說是:對象在析構/銷毀時會先調用析構函數,然后再銷毀自己的成員。
但析構函數是你寫出來的,析構函數不會自動做什么事的,是你決定了析構函數會做什么工作。
如果你沒有在析構函數中手動 delete 指針所指的內存,到了銷毀成員的階段,即銷毀這個指針時,只有這個指針本身會被銷毀,其所指的內存并不會被自動 delete。 顯然這將會造成內存泄漏。
所以不是“析構函數會清空它嗎?”,而是你應該在析構函數中手動清空它——這也是析構函數存在的意義——即做自身的清理工作(尤其是要清理/釋放掉本對象獲取的各種資源)
- 1 回答
- 0 關注
- 1589 瀏覽
添加回答
舉報
0/150
提交
取消