[問題] 要怎麼知道array size?
如果是
int a[5];
則sizeof(a) = 20 =4*sizeof(int)
但在memMgr.h的freeArr裡面,傳入的p應該是一個T的array
但sizeof(p) = 4 = sizeof(T*)
看來這招不能用。請問還有什麼方法可以知道array的大小呢?
--
春苑樹雪菜萌苗,雀兒喜上夏枝梢;藍眼望盡黃泉路,只盼儷人一美笑。
長巾初解投送抱,金珠麗葉賀新好;神代仙眷且羨嫉,長伴相隨誓到老。
靜馬千華留秋晚,冬風不止三鄉道;紅枝立約攜手情,今此空餘泣嚎啕。
姬宮千歌音悠悠,櫻井奏樂聲裊裊;奈何天令伊人變,飛離斯愛離斯去。
結城AIRA→ 悲慟獨泣無人應,白晝夢盡皆空語。 ←美鄉あき
Kalafina→ 紅月旋響戚音樂,黯然步上鎮魂旅。 ←飛 蘭
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.57.147.96
推
11/15 16:23, , 1F
11/15 16:23, 1F
推
11/15 16:36, , 2F
11/15 16:36, 2F
推
11/15 21:36, , 3F
11/15 21:36, 3F
→
11/15 21:37, , 4F
11/15 21:37, 4F
→
11/15 21:37, , 5F
11/15 21:37, 5F
→
11/15 22:49, , 6F
11/15 22:49, 6F
推
11/16 00:17, , 7F
11/16 00:17, 7F
推
11/16 00:29, , 8F
11/16 00:29, 8F
→
11/16 00:39, , 9F
11/16 00:39, 9F
→
11/16 00:40, , 10F
11/16 00:40, 10F
推
11/16 00:46, , 11F
11/16 00:46, 11F
推
11/16 01:01, , 12F
11/16 01:01, 12F
結果問的人自己還是看不懂推文是什麼意思...
※ 編輯: takua624 來自: 140.112.25.107 (11/16 07:46)
好,現在勉強懂了,總之經過謎一般的dereference,可以得到*p就是array size
但是,把他加到例如size=2的list好了,如果裡面原本的_first指著一個0x0000
那麼...根據這個list的使用方式,我們會把_first指向p,而*p = 0x0000
這樣...下次再delete[]一次p的時候,要去讀他的array size就會變成
0x0000強制轉譯成size_t之後的結果,然後就______了
這樣的話要怎麼應付重複delete[]的問題呢?
※ 編輯: takua624 來自: 140.112.4.195 (11/16 15:19)
※ 編輯: takua624 來自: 140.112.4.195 (11/16 15:20)
推
11/16 20:04, , 13F
11/16 20:04, 13F