stdint.h 文件
<stdint.h> 定義了 int16_t 、 uint32_t 、 int64_t 等整型,在需要確定大小的整型時(shí)可以使用它們代替 short 、 unsigned long long 等,在 C 整型中,只使用 int 。適當(dāng)情況下,推 薦使用標(biāo)準(zhǔn)類型如 size_t 和 ptrdiff_t 。
 
最常使用的是,對(duì)整數(shù)來(lái)說(shuō),通常不會(huì)用到太大,如循環(huán)計(jì)數(shù)等,可以使用普通的 int 。 你可以認(rèn)為 int 至少為 32 位,但不要認(rèn)為它會(huì)多于 32 位,需要 64 位整型的話,可以使用int64_t 或 uint64_t 。對(duì)于大整數(shù),使用 int64_t 。
 
不要使用 uint32_t 等無(wú)符號(hào)整型,除非你是在表示一個(gè) 位組( bit pattern ) 而不是一個(gè) 數(shù)值。即使數(shù)值不會(huì)為負(fù)值也不要使用無(wú)符號(hào)類型,使用斷言來(lái)保護(hù)數(shù)據(jù)。
 
有些人,包括一些教科書(shū)作者,推薦使用無(wú)符號(hào)類型表示非負(fù)數(shù),類型表明了數(shù)值取值形 式 。但是,在 C 語(yǔ)言中,這一優(yōu)點(diǎn)被由其導(dǎo)致的 bugs 所淹沒(méi)。看看:
 
for (unsigned int i = foo.Length()-1; i >= 0; --i)?
 上述代碼永遠(yuǎn)不會(huì)終止!有時(shí) gcc 會(huì)發(fā)現(xiàn)該 bug 并報(bào)警,但通常不會(huì)。類似的 bug 還會(huì) 出現(xiàn)在比較有符合變量和無(wú)符號(hào)變量時(shí),主要是 C 的 類型提升機(jī)制( type-promotion
 scheme , C 語(yǔ)言中各種內(nèi)建類型之間的提升轉(zhuǎn)換關(guān)系) 會(huì)致使無(wú)符號(hào)類型的行為出乎你 的意料。因此,使用斷言聲明變量為非負(fù)數(shù),不要使用無(wú)符號(hào)型。
 
以下內(nèi)容轉(zhuǎn)載自http://apps.hi.baidu.com/share/detail/32935657
[cpp] view plaincopy print?stdint.h文件如下:
[cpp] view plaincopy print?總結(jié)
以上是生活随笔為你收集整理的stdint.h 文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: Zookeeper系列(一)
- 下一篇: thrift中TNonblockingS
