看板 EE_DSnP 關於我們 聯絡資訊
※ 引述《ric2k1 (Ric)》之銘言: : 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(). 我想再請問的是: A* p = new A ; cout << p << endl ; delete p ; cout << p << endl ; 為何delete掉之後和之前的位址都是一樣的呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.240