看板 C_and_CPP 關於我們 聯絡資訊
請問一下 假使我在程式中有動態記憶體配置 卻沒有予以delete 又或者 我動態配至一個記憶體空間完 在把指標移到另一同型別的變數上 是不是會真實的浪費我記憶體空間呢? (還是等我把.exe黨刪掉就不會佔空間呢?) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.91.18
tsaiminghan:程式關掉就會釋放(應該), 不用刪exe 03/12 01:36
Arim:這問題還滿冏的 03/12 14:04
zesiva:其實我也有這個問題 new了之後就算是花掉記憶體嗎 還是要真 03/12 14:31
zesiva:的存了東西進去才算花到 03/12 14:31
comdan66:不是有free? (聽人說的= =... 03/12 15:42
realmeat:new了就算是開了一塊空間, 實際上就是花掉 03/12 19:19
realmeat:離開程式之後不管你有沒有用free 都會釋放掉 03/12 19:20
realmeat:new->delete , malloc->free 稍作更正, 這兩個不能混用 03/12 19:21
VictorTom:不好意思借問一下, 如果程式離開後沒有free也會被釋放掉 03/12 19:41
VictorTom:那一般memory leak是怎麼發生的??是不正常中止造成嗎@@" 03/12 19:42
lockcole:常駐/daemon程式,有很多系統是不能任意關機的 03/12 21:15
realmeat:memory leak 是你誤用計憶體位置然後產生當機(不正常中止 03/12 21:25
realmeat:當然有的memory leak不一定會當機就是了 03/12 21:26
weiyucsie:樓上... 你是不是說錯了? 03/12 21:31
VictorTom:因為小弟偷懶直接看Wiki解釋, 應該就是mem要了沒有還, 03/12 21:32
VictorTom:如果離開程式就會自動歸還(像Java), 那C/C++就不該 03/12 21:32
VictorTom:memory leak了吧?? 所以小弟才會就leak請教一下<(_ _)> 03/12 21:33
weiyucsie:memory leak不就只是取得但不需要時卻沒釋放? 03/12 21:33
VictorTom:小弟的認知與樓上同; PS. 不好意思, 斷到您的推文^^|| 03/12 21:34
NOtWorThy:所以就算MEMORY LEAK發生,離開程式後,OS還是會幫你 03/13 01:04
NOtWorThy:歸還記憶體空間囉?? ~"~謝謝回答 03/13 01:04
owenchb:雖然你上面的說法沒錯, 但有new 就必須delete, 03/13 23:25
owenchb:這是很重要的觀念,否則當程式寫大時,又遇到memory leak, 03/13 23:27
owenchb:到時候就不好debug 了... 03/13 23:28
owenchb:除非切到C# 就沒有delete 的問題了... 03/13 23:30