作者a3785lexx (Alex)
看板EE_DSnP
标题[闲聊] size_t的威能XD??
时间Wed Nov 25 01:17:48 2009
如题....其实这个完全是个题外话XD
话说强者我同学辛勤的测他的BUG时候
我突然发现一件很猛的事情
据说我们在new或new[]的时候系统会塞需要的记忆体大小给
size_t t这个变数...所以我们才可以拿着他去getMem去作甚麽有的没的
那麽...假如今天我们run ./memTest後就下了这个指令
mtn -a 30000 1
恩,凭各位先进的聪明才智一定一眼就看出来:
这个程式一定会叫说"你太小气了!"嘛,这个array根本比blockSize还大啊
是的,如各位所想,的确会有error message跑出来
可是呢...
我突然想到,以32-bit machine来说
size_t只有4BYTE这麽大...所以他的能力极限应该是2^16 = 65536
所以...他到底怎麽能够存超过65536的数字的呢囧?
这实在太威了啊!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.37.108.84
1F:推 hrs113355:4byte 是 2^32.... 11/25 01:31
2F:→ a3785lexx:对也...抱歉...那我一直记得int的范围是32767~-32768 11/25 01:44
3F:→ a3785lexx:是哪里来的怪印像......orz 11/25 01:45
4F:→ a3785lexx:刚刚试了一下...突然想起来教授在myStr2Int的时候就设 11/25 01:45
5F:→ a3785lexx:下防线了...所以不可能超过size_t的能力XD 11/25 01:46
6F:推 hrs113355:是因为VB吗 他的int是2byte XD 11/25 01:49
7F:→ a3785lexx:有可能XD 国中高中都不知道为甚麽先教VB...XD 11/25 02:10
8F:推 timrau:其实standard里只有保证int"至少"要有16-bit 11/25 07:35