請看清楚題目....
1. mtr without parameter --> MemBlock size remains unchanged (page 3 line 15)
2. 當然是 "size跟原來一樣,但接在後面".
否則 MemBlock::_nextBlock 要幹嘛?
而且如果 resize memory block 且將 data copy過去的話,
原來的 pointer 變數要怎麼對應呢?
※ 引述《ijb ()》之銘言:
: 用老師的執行檔測以下的指令:
: mtest> mtr ----------------------> 什麼都不打,似乎輸入0
: Resetting memMgr...(0)
: mtest> mtp
: =========================================
: = Memory Manager =
: =========================================
: * Block size : 65536 Bytes
: * Number of blocks : 1
: * Free mem in last block: 65536
: * Recycle list :
: =========================================
: = class MemTest =
: =========================================
: Object list ---
: Array list ---
: mtest> mtr 100
: Resetting memMgr...(100)
: mtest> mtp
: =========================================
: = Memory Manager =
: =========================================
: * Block size : 100 Bytes
: * Number of blocks : 1
: * Free mem in last block: 100
: * Recycle list :
: =========================================
: = class MemTest =
: =========================================
: Object list ---
: Array list ---
: mtest> mtr
: Resetting memMgr...(0) -------> 什麼都不打,應該輸入0,但是block size=100
: 我想問輸入都不打時,輸入值應該是??
: mtest> mtp
: =========================================
: = Memory Manager =
: =========================================
: * Block size : 100 Bytes
: * Number of blocks : 1
: * Free mem in last block: 100
: * Recycle list :
: =========================================
: = class MemTest =
: =========================================
: Object list ---
: Array list ---
: Quiz 2:
: 若memory new 超過blocksize時,
: 再new一個block時,
: a. size跟原來一樣,但接在後面,還是
: b. new一個兩倍大的size memblock, 原本的memblock free掉嗎?
: 若是a的話,若系統剛好不夠這塊memory時,該怎麼辦?
: 若是b的話,回收的mem是不是都要放棄掉
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.121.134.49