固定宽度整数类型是否为标准内置类型的typedef?

Bau*_*gen 8 c++ language-lawyer

从类型<cstdint>(如例如int16_t,uint_fast64_t,int_least8_t)保证是typedefS为内建类型等中的一个short,unsigned long等等?

或者是允许使用非常规内置类型来实现固定宽度类型的实现?

T.C*_*.C. 2

它们由 C 标准指定(并通过 C++ 标准引用合并),要求每个都是有符号整数类型无符号整数类型的 typedef (视情况而定)。

有符号整数类型又由核心语言定义为由标准有符号整数类型(即signed charshort intintlong intlong long int和任何实现定义的扩展有符号整数类型组成。

类似地,无符号整数类型由核心语言定义为由标准无符号整数类型(即unsigned charunsigned short intunsigned intunsigned long int)以及与扩展有符号整数类型相对应的unsigned long long int任何实现定义的扩展无符号整数类型组成。

简而言之,每个 typedef 都可以是常见的内置类型之一或实现定义的扩展整数类型。大多数编译器不支持扩展整数类型,因此在这些编译器上它们必须是内置类型。