标签: c++ c c++11 c99
对于C99(及更高版本的标准),标准要求某些类型可以在标头<stdint.h>中使用。对于精确的宽度(例如int8_t,int16_t等),它们是可选的,并且是出于标准原因。
<stdint.h>
int8_t
int16_t
但是对于uintptr_t和intptr_t类型,它们也是可选的,但是我看不出为什么它们是可选的而不是必需的原因。
uintptr_t
intptr_t
答案 0 :(得分:7)
在某些平台上,指针类型的大小比任何整数类型大得多。我相信这样的平台示例是IBM AS / 400,其虚拟指令集将所有指针定义为128位。