看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《rosemary0401 (rosemary)》之銘言: : Q1. new了之後delete兩次會造成undefined behavior,為什麼呢? : 因為動態配置的memory,會用一個list存放起來, : 而第2次delete會刪除到list上其他的node,是這樣嗎??? 我不是鐘明軒,不接受來信詢問。請回文。 // 2.cpp int main() { int *p = new int; delete p; delete p; return 0; } 執行後: 於 0x770315de 的 2.exe 中發生未處理的例外狀況: 0xC0000374: 堆積已損毀。 表示第二次對位址 p 進行 delete 時, 會藉由 HeapFree API 告知 Windows 上的 Heap Manager, 而 Heap Manager 不是三立連續劇的編劇,也不是老番顛,所以它隨時會記錄目前 掌握的 Heap 空間內有哪些 heap block 是使用中 / 空閒中。 第一次的 delete 是針對使用中的 Heap Block,管理員由位址 p 的前方可以找到 此 block 的 metadata,進而辨識出其身份,取得其資訊,完成釋放此 Heap Block 的動作。 當 Heap Block (p指向) 被釋放後,不一定會還原成一個大小為 sizeof(int) 的 block,可能跟相鄰的 block 合併成比如 8 byte, 16 bytes 之類的。 反正這些是內部機密,不必讓你知道。 你要第二次亂 delete,人家 Heap Manager 可以不理你不做為,也可以拋出一個 exception 說 Heap Corruption,通告全國,要怎麼做其實沒有嚴格規定,爽就好。 從我的範例程式來看,就是碰到編號為 0xC0000374 由 HeapManager (此時 EIP 暫存器值為 0x770315de) 丟出的例外。 http://forum.gamer.com.tw/Co.php?bsn=60076&sn=15446589 鍾明軒 鬼叫《煎熬》爆紅 鍾明軒人小「勇氣」大,面對批評浪潮視若無睹,在粉絲頁po 文:「每個人心中都有一個夢想,如果你還有夢,請堅持下去」,並在簡介表示「我是網 路出生的,因為大家的支持,才讓我變紅」。他在youtube上傳的每首翻唱曲,點閱率全 都破20萬,但表示「不喜歡」的佔了一半以上。偏偏鍾明軒非常「正向積極」,眼裡只看 的到「喜歡」的少數300人,竟然還上傳感謝粉絲支持的影片,並聲明不接受點歌。才國 一的鍾明軒在youtube上傳翻唱歌曲,6月27日開創臉書粉絲專頁,身份介紹欄還寫「歌手 」,不顧旁人眼光的行徑在網路爆紅。但由於他歌聲有待加強,卻還大肆批評其他素人歌 手,「反鍾明軒粉絲團」30日也隨之而起,粉絲人數還超過鍾明軒的粉絲,大家都拜託他 「別再唱了!」還說「你的煎熬真是最煎熬!」 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.8.130.161 ※ 編輯: purpose 來自: 124.8.130.161 (08/18 11:49)
bleed1979:推鐘明軒 08/18 11:55
EdisonX:推推!! 不過.. 有鐘明軒的懶人包嗎 Orz 08/18 17:09
※ 編輯: purpose 來自: 124.8.130.161 (08/18 17:32)
EdisonX:補推鐘明軒 :) 08/18 17:43
http://www.youtube.com/watch?v=FStlu8wQknw#t=121s
上次不小心轉到台視 "綜藝十八班" 看到上面這個片段, 當場我嚇出一身冷汗...... 這 2012 年我差點就白活了,好險 ※ 編輯: purpose 來自: 124.8.130.161 (08/18 17:57)
diabloevagto:痾...我白活了... 08/18 21:40
damody:樓主真是太熱血了 08/20 01:20