作者ColaNut ()
看板EE_DSnP
標題[問題] HW4 - delete
時間Wed Nov 20 10:15:36 2013
如果用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)
1F:推 ahpc82:不不 那個#define不是寫給memMgr.h看的 11/20 12:30
2F:→ ahpc82:visit src/mem/memTest.h, line 9 11/20 12:31
3F:→ ahpc82:打錯, line 27, USE_MEM_MGR_(MemTestObj); 11/20 12:33
4F:推 ric2k1:是啊! delete 會把記憶體回收起來,不會清掉記憶體還給系統 11/20 13:51
5F:→ ric2k1:要清掉記憶體是用 MTReset 11/20 13:52
6F:→ ColaNut:不知道我這樣講有沒有錯:只要跟memTestObj扯上邊的new 11/20 15:32
7F:→ ColaNut:就會使用到overload過的new,而memBlock的new就是正常的。 11/20 15:33
8F:→ nianze:我覺得應該可以這樣講 因為在memBlock我們沒有overload new 11/20 15:54
9F:→ ColaNut:好喔!感謝老師、老朱及N大~ 11/20 16:00