頭文件
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 表示一個寬度至少為 # 位的無符號整數類型,且沒有位數更少的無符號整數類型至少具有給定的寬度。
需具備的最小寬度整數類型:
int_least8_tint_least16_tint_least32_tuint_least8_tuint_least16_tuint_least32_t其它所有最小寬度整數類型都是可選的。
typedef int_fast#_t, 其中 # 代表寬度,表示寬度至少為 # 位的且速度最快的有符號整數類型。同樣 typedef uint_fast#_t 表示寬度至少為 # 位的且速度最快的無符號整數類型。
不能保證這些類型對於所有用途都是最快的。不過在任何情況下,它們都滿足符號和寬度的要求。
需具備的最快最小寬度整數類型:
int_fast8_tint_fast16_tint_fast32_tuint_fast8_tuint_fast16_tuint_fast32_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