作者ric2k1 (Ric)
看板EE_DSnP
標題[情報] getRecycleIdx() 的回傳值
時間Mon Nov 29 22:49:55 2010
有人在問:
size_t getRecycleIdx(size_t t) const;
的回傳值一定介於 0 ~ 255 之間嗎?
這樣在 freeArr() 的 comment 中說的:
// ==> assert(n == getRecycleIdx(n * S + SIZE_T));
好像會不符合?
==> ANS:
的確,我的 implementation 裏頭 getRecycleIdx() 回傳的是 array index,
就是 new MemTestObj[n] 中的 n,
就是跟存在 array 前 SIZE_T 裏頭的數字一樣,
就是 MemRecycleList<T*>::getList(n) 的 n,
就是存在 MemRecycleList 裏頭的 _arrSize.
總而言之,當然會 > 255.
但果你的 implementation 讓他不會超過 255,
而你也正確的儲存了 MemRecycleList 裏頭的 _arrSize,
然後測資跑過也沒問題,
我想應該也可以吧!?
也許我應該把他改名叫 getArrSize()??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.248.106.11
1F:推 tomap41017:建議命名可以更清楚些@@不然寫作業好難搞懂一些 11/30 11:44
2F:→ tomap41017:小函式的功用,一開始我也卡好久... 11/30 11:45