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