[問題] 動態配置記憶體會出問題的原因
看板C_and_CPP (C/C++)作者rosemary0401 (rosemary)時間13年前 (2012/08/16 23:45)推噓3(3推 0噓 12→)留言15則, 6人參與討論串1/2 (看更多)
Q1. new了之後delete兩次會造成undefined behavior,為什麼呢?
因為動態配置的memory,會用一個list存放起來,
而第2次delete會刪除到list上其他的node,是這樣嗎???
Q2. 若new了之後不delete,會造成memory leak,
最後memory用盡時,會crash在別的地方,為什麼呢??
Q3. new/delete的實作是每個compiler有各自的實作嗎??
Q4. 有沒有神人能說明new/delete是怎麼實作的呢???
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.240.135.190
推
08/16 23:55, , 1F
08/16 23:55, 1F
→
08/17 01:39, , 2F
08/17 01:39, 2F
→
08/17 02:18, , 3F
08/17 02:18, 3F
→
08/17 02:18, , 4F
08/17 02:18, 4F
→
08/17 02:18, , 5F
08/17 02:18, 5F
所以,在delete之後,只有在別人又new到相同位址的情況下
delete twice才會出錯囉?
如果該位址一直沒有被別人new到,就算多delete 幾次都沒有問題,是這樣嗎?
→
08/17 02:19, , 6F
08/17 02:19, 6F
→
08/17 02:19, , 7F
08/17 02:19, 7F
→
08/17 02:19, , 8F
08/17 02:19, 8F
→
08/17 02:40, , 9F
08/17 02:40, 9F
→
08/17 03:02, , 10F
08/17 03:02, 10F
→
08/17 03:03, , 11F
08/17 03:03, 11F
推
08/17 11:42, , 12F
08/17 11:42, 12F
→
08/17 11:42, , 13F
08/17 11:42, 13F
推
08/17 12:55, , 14F
08/17 12:55, 14F
→
08/18 00:01, , 15F
08/18 00:01, 15F
※ 編輯: rosemary0401 來自: 111.240.152.202 (08/18 00:06)
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章