[問題] getRecycleIdx

看板EE_DSnP作者 (meanid)時間12年前 (2011/11/21 21:56), 編輯推噓6(608)
留言14則, 3人參與, 最新討論串2/2 (看更多)
爬了以前的文 但還是不是很懂 如果說只是要回傳_arrSize 但是t如果不是sizeof(T)的整數倍怎麼辦? 應該回傳哪個_recycleList[]的_arrSize呢? 還是說要像類似toSizeT()一樣?? 麻煩指教一下 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.25.108 ※ 編輯: meanid 來自: 140.112.25.108 (11/21 21:57)

11/21 22:13, , 1F
t 的大小要足以包含一個 SIZE_T 的空間存 array size, 以及
11/21 22:13, 1F

11/21 22:14, , 2F
n*S 的空間存 n 個 memTestObjs.
11/21 22:14, 2F

11/21 22:15, , 3F
至於在傳給 getRecycleList() 之前要確定他是 SIZE_T的倍數
11/21 22:15, 3F

11/21 22:15, , 4F
應該用 toSizeT() 還是 downtoSizeT() 就看應用的情形囉!
11/21 22:15, 4F

11/21 22:16, , 5F
簡單的說 (S = 36) ==> getRecycleList(42) = 1 for 32-bit
11/21 22:16, 5F

11/21 22:17, , 6F
上面推錯... 應該是 getRecycleList(40) = 1
11/21 22:17, 6F

11/21 22:18, , 7F
再一個例子 getRecycleList(184) = 5 for 32-bi
11/21 22:18, 7F

11/21 22:58, , 8F
謝謝教授!y
11/21 22:58, 8F

11/21 23:58, , 9F
所以說getRecycleIdx(42) 應該是 2嗎(for 32-bit)
11/21 23:58, 9F

11/22 00:27, , 10F
code 裏頭有 "assert(t % SIZE_T == 0);", 所以要在外面
11/22 00:27, 10F

11/22 00:28, , 11F
就確認傳進來的 t 是 SIZE_T 的倍數。所以不應該有42的情況
11/22 00:28, 11F

11/23 01:06, , 12F
所以 getRecycleIdx(64) 要是 1 嗎?(for 32-bit)
11/23 01:06, 12F

11/23 01:14, , 13F
getRecycleIdx(64) --> 1 (if S = 36), 但是應該不會有人
11/23 01:14, 13F

11/23 01:15, , 14F
(推錯) 請忽略 "但應該...
11/23 01:15, 14F
文章代碼(AID): #1EobYB_O (EE_DSnP)
討論串 (同標題文章)
文章代碼(AID): #1EobYB_O (EE_DSnP)