看板 EE_DSnP 關於我們 聯絡資訊
爬了以前的文 但還是不是很懂 如果說只是要回傳_arrSize 但是t如果不是sizeof(T)的整數倍怎麼辦? 應該回傳哪個_recycleList[]的_arrSize呢? 還是說要像類似toSizeT()一樣?? 麻煩指教一下 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.25.108 ※ 編輯: meanid 來自: 140.112.25.108 (11/21 21:57)
ric2k1:t 的大小要足以包含一個 SIZE_T 的空間存 array size, 以及 11/21 22:13
ric2k1:n*S 的空間存 n 個 memTestObjs. 11/21 22:14
ric2k1:至於在傳給 getRecycleList() 之前要確定他是 SIZE_T的倍數 11/21 22:15
ric2k1:應該用 toSizeT() 還是 downtoSizeT() 就看應用的情形囉! 11/21 22:15
ric2k1:簡單的說 (S = 36) ==> getRecycleList(42) = 1 for 32-bit 11/21 22:16
ric2k1:上面推錯... 應該是 getRecycleList(40) = 1 11/21 22:17
ric2k1: 再一個例子 getRecycleList(184) = 5 for 32-bi 11/21 22:18
meanid:謝謝教授!y 11/21 22:58
meanid:所以說getRecycleIdx(42) 應該是 2嗎(for 32-bit) 11/21 23:58
ric2k1:code 裏頭有 "assert(t % SIZE_T == 0);", 所以要在外面 11/22 00:27
ric2k1:就確認傳進來的 t 是 SIZE_T 的倍數。所以不應該有42的情況 11/22 00:28
yanshencun:所以 getRecycleIdx(64) 要是 1 嗎?(for 32-bit) 11/23 01:06
ric2k1:getRecycleIdx(64) --> 1 (if S = 36), 但是應該不會有人 11/23 01:14
ric2k1:(推錯) 請忽略 "但應該... 11/23 01:15