[問題] 動態配置記憶體的觀念

看板C_and_CPP作者 (兄弟霸業)時間15年前 (2010/06/17 00:41), 編輯推噓3(302)
留言5則, 4人參與, 最新討論串1/2 (看更多)
想請問一下 在C++中使用new來配置記體體空間(比如int *a=new int [4]) 就需要用相對應的delete來釋放 (delete []a) 那如果現在是在某個function裡面使用new 若是在function執行完時沒有用delete 請問在function離開後...這塊空間的狀況應該是!!?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.190.206

06/17 00:45, , 1F
還在阿 heap 所以就leak了
06/17 00:45, 1F

06/17 00:45, , 2F
沒人知道這塊空間的存在,但也沒人釋放,所以 memory leak
06/17 00:45, 2F

06/17 00:45, , 3F
沒有指標指的到他了 你也沒辦法在其他地方做delete的動作
06/17 00:45, 3F

06/17 00:48, , 4F
如果是main的話應該沒關係吧?
06/17 00:48, 4F

06/17 08:44, , 5F
只要你腦筋夠清楚知道它有沒有被 delete 那在哪都沒差
06/17 08:44, 5F
文章代碼(AID): #1C6FwcQx (C_and_CPP)
文章代碼(AID): #1C6FwcQx (C_and_CPP)