作者BloodyDuke (个巴乐)
看板EE_DSnP
标题[问题] getRecycleList()
时间Thu Nov 25 22:36:47 2010
class MemRecycleList 的getRecycleList()
TODO要求
// find out a recycle list whose "_arrSize" == "n"
// If not found, create a new MemRecycleList with _arrSize = n
// and add to the last MemRecycleList
// So, should never return NULL
我不懂为什麽要create a new MemRecycleList with _arrSize = n
不return NULL 在getMem()要怎麽判断没有可以用的recycle记忆体区段而直接
向MemBlock要新的记忆体区段
而且老师自己的code 在getRecycleList()的最後一行就是
return 0;
所以getRecycleList到底可不可以return NULL啊?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.174.136
※ 编辑: BloodyDuke 来自: 140.112.174.136 (11/25 22:37)
1F:推 TommyKSHS:我想原本写的 return 0 是因为要能 compile 11/25 22:59
2F:→ TommyKSHS:然後 getRecycleList() 并不是用来取得可用 recycle 11/25 23:00
3F:→ TommyKSHS:的记忆体区段的 而是回传一个标签为垃圾长度 = n 的 11/25 23:02
4F:→ TommyKSHS:MemRecycleList<T>* 11/25 23:02
5F:推 ric2k1:Tommy 大神所言甚是。另外要补充的是当你要一个垃圾长度是n 11/26 06:07
6F:→ ric2k1:的 recycle list 时, 如果本来没有,就会产生一个新的, 11/26 06:07
7F:→ ric2k1:所以永远不会空手而回,当然就不应该会有 return NULL 的 11/26 06:08
8F:→ ric2k1:情形 11/26 06:08
9F:推 tomap41017:推!不过我现在写有一个情况会return 0就是new MemRList 11/27 01:01
10F:→ tomap41017:throw出std::bad_alloc时会有~这样子OK吗? 11/27 01:02