[問題] HW4 - delete

看板EE_DSnP作者時間10年前 (2013/11/20 10:15), 編輯推噓2(207)
留言9則, 4人參與, 最新討論串1/1
如果用macro定的delete: void operator delete(void *p){_memMgr->free((T*)p);} 會呼叫 void free(T *p){ getMemRecycleList(0)->pushFront(p); } -- 所以我在memMgr.h裡不管怎麼叫delete 根本沒辦法清掉記憶體? 這其中一定是有什麼誤會 >"< -- 你站在橋上看風景,看風景的人在樓上看你。 明月裝飾了你的窗子,你裝飾了別人的夢。 -- 卞之琳 <斷章> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.234.151 ※ 編輯: ColaNut 來自: 111.248.234.151 (11/20 10:19) ※ 編輯: ColaNut 來自: 111.248.234.151 (11/20 10:22)

11/20 12:30, , 1F
不不 那個#define不是寫給memMgr.h看的
11/20 12:30, 1F

11/20 12:31, , 2F
visit src/mem/memTest.h, line 9
11/20 12:31, 2F

11/20 12:33, , 3F
打錯, line 27, USE_MEM_MGR_(MemTestObj);
11/20 12:33, 3F

11/20 13:51, , 4F
是啊! delete 會把記憶體回收起來,不會清掉記憶體還給系統
11/20 13:51, 4F

11/20 13:52, , 5F
要清掉記憶體是用 MTReset
11/20 13:52, 5F

11/20 15:32, , 6F
不知道我這樣講有沒有錯:只要跟memTestObj扯上邊的new
11/20 15:32, 6F

11/20 15:33, , 7F
就會使用到overload過的new,而memBlock的new就是正常的。
11/20 15:33, 7F

11/20 15:54, , 8F
我覺得應該可以這樣講 因為在memBlock我們沒有overload new
11/20 15:54, 8F

11/20 16:00, , 9F
好喔!感謝老師、老朱及N大~
11/20 16:00, 9F
文章代碼(AID): #1IZ1jMIe (EE_DSnP)