boost.png (6897 bytes)頭文件 boost/cstdint.hpp 

頭文件 <boost/cstdint.hpp> 提供了用於編寫要求指定整數寬度的可移植代碼的 typedef. 所有 typedef 均位於名字空間 boost.

本規範是基於 ISO/IEC 9899:1999 C 語言標準的頭文件 <stdint.h> 的。C標準所要求的64位類型沒有在 boost 頭文件中要求,也可能不被實現支持,因為 long long 還未被包含在 C++ 標準中。

測試程序請見 cstdint_test.cpp.

精確寬度的整數類型

typedef int#_t, 其中 # 代表寬度,表示一個寬度恰好為 # 位的有符號整數類型;如 int8_t 表示8-位的有符號整數類型。同樣,typedef uint#_t 表示一個寬度恰好為 # 位的無符號整數類型。

這些類型是可選的。不過,如果一個實現提供了寬度為 8, 16, 32, 或 64 位的整數類型,它就應該定義相應的 typedef 名字。

最小寬度的整數類型

typedef int_least#_t, 其中 # 代表寬度,表示一個寬度至少為 # 位的有符號整數類型,且沒有位數更少的有符號整數類型至少具有給定的寬度。因此,int_least32_t 表示一個至少32位的有符號整數類型。同樣,typedef uint_least#_t 表示一個寬度至少為 # 位的無符號整數類型,且沒有位數更少的無符號整數類型至少具有給定的寬度。

需具備的最小寬度整數類型:

其它所有最小寬度整數類型都是可選的。

最快最小寬度整數類型

typedef int_fast#_t, 其中 # 代表寬度,表示寬度至少為 # 位的且速度最快的有符號整數類型。同樣 typedef uint_fast#_t 表示寬度至少為 # 位的且速度最快的無符號整數類型。

不能保證這些類型對於所有用途都是最快的。不過在任何情況下,它們都滿足符號和寬度的要求。

需具備的最快最小寬度整數類型:

其它所有最快最小寬度整數類型都是可選的。

最大寬度整數類型

typedef intmax_t 表示一個有符號整數類型,它可以表示任意有符號整數類型的值。

typedef uintmax_t 表示一個無符號整數類型,它可以表示任意無符號整數類型的值。

這兩個類型都是必需的。


Revised 06 Nov 2007

c Copyright Beman Dawes 2000

Distributed under the Boost Software License, Version 1.0. See www.boost.org/LICENSE_1_0.txt