精華區beta EE_DSnP 關於我們 聯絡資訊
Q: == 在昨天上課第二堂一開始講的東西我有點不太清楚想問一下 老師有舉個例子 { A* p= new A; } delete p; [call ] ~A( ); 請問一下 這邊想要表達的主旨是什麼 是說離開 { } 後 會自動call delete p and then call destructor ? 還是 說… 還是我還有漏掉什麼? 記得老師是舉兩個來比較 ------------------------------------------------------- A: == { A* p= new A; } 結束後並不會自動 call "delete p". 只會將 local variable p 還給系統. 如果你要將 p 所指的記憶體空間釋放, 你必須 explicitly 呼叫 "delete p", 然後他才會去呼叫 p 的 destructor ~p(). -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.134.251