[問題] 動態記憶體配置

看板C_and_CPP (C/C++)作者 (駭客技術去哪學?)時間16年前 (2009/03/12 01:13), 編輯推噓7(7018)
留言25則, 10人參與, 最新討論串1/6 (看更多)
請問一下 假使我在程式中有動態記憶體配置 卻沒有予以delete 又或者 我動態配至一個記憶體空間完 在把指標移到另一同型別的變數上 是不是會真實的浪費我記憶體空間呢? (還是等我把.exe黨刪掉就不會佔空間呢?) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.91.18

03/12 01:36, , 1F
程式關掉就會釋放(應該), 不用刪exe
03/12 01:36, 1F

03/12 14:04, , 2F
這問題還滿冏的
03/12 14:04, 2F

03/12 14:31, , 3F
其實我也有這個問題 new了之後就算是花掉記憶體嗎 還是要真
03/12 14:31, 3F

03/12 14:31, , 4F
的存了東西進去才算花到
03/12 14:31, 4F

03/12 15:42, , 5F
不是有free? (聽人說的= =...
03/12 15:42, 5F

03/12 19:19, , 6F
new了就算是開了一塊空間, 實際上就是花掉
03/12 19:19, 6F

03/12 19:20, , 7F
離開程式之後不管你有沒有用free 都會釋放掉
03/12 19:20, 7F

03/12 19:21, , 8F
new->delete , malloc->free 稍作更正, 這兩個不能混用
03/12 19:21, 8F

03/12 19:41, , 9F
不好意思借問一下, 如果程式離開後沒有free也會被釋放掉
03/12 19:41, 9F

03/12 19:42, , 10F
那一般memory leak是怎麼發生的??是不正常中止造成嗎@@"
03/12 19:42, 10F

03/12 21:15, , 11F
常駐/daemon程式,有很多系統是不能任意關機的
03/12 21:15, 11F

03/12 21:25, , 12F
memory leak 是你誤用計憶體位置然後產生當機(不正常中止
03/12 21:25, 12F

03/12 21:26, , 13F
當然有的memory leak不一定會當機就是了
03/12 21:26, 13F

03/12 21:31, , 14F
樓上... 你是不是說錯了?
03/12 21:31, 14F

03/12 21:32, , 15F
因為小弟偷懶直接看Wiki解釋, 應該就是mem要了沒有還,
03/12 21:32, 15F

03/12 21:32, , 16F
如果離開程式就會自動歸還(像Java), 那C/C++就不該
03/12 21:32, 16F

03/12 21:33, , 17F
memory leak了吧?? 所以小弟才會就leak請教一下<(_ _)>
03/12 21:33, 17F

03/12 21:33, , 18F
memory leak不就只是取得但不需要時卻沒釋放?
03/12 21:33, 18F

03/12 21:34, , 19F
小弟的認知與樓上同; PS. 不好意思, 斷到您的推文^^||
03/12 21:34, 19F

03/13 01:04, , 20F
所以就算MEMORY LEAK發生,離開程式後,OS還是會幫你
03/13 01:04, 20F

03/13 01:04, , 21F
歸還記憶體空間囉?? ~"~謝謝回答
03/13 01:04, 21F

03/13 23:25, , 22F
雖然你上面的說法沒錯, 但有new 就必須delete,
03/13 23:25, 22F

03/13 23:27, , 23F
這是很重要的觀念,否則當程式寫大時,又遇到memory leak,
03/13 23:27, 23F

03/13 23:28, , 24F
到時候就不好debug 了...
03/13 23:28, 24F

03/13 23:30, , 25F
除非切到C# 就沒有delete 的問題了...
03/13 23:30, 25F
文章代碼(AID): #19j_4sXI (C_and_CPP)
文章代碼(AID): #19j_4sXI (C_and_CPP)