Bau*_*gen 8 c++ language-lawyer
从类型<cstdint>(如例如int16_t,uint_fast64_t,int_least8_t)保证是typedefS为内建类型等中的一个short,unsigned long等等?
或者是允许使用非常规内置类型来实现固定宽度类型的实现?
它们由 C 标准指定(并通过 C++ 标准引用合并),要求每个都是有符号整数类型或无符号整数类型的 typedef (视情况而定)。
有符号整数类型又由核心语言定义为由标准有符号整数类型(即signed char、short int、int和long int)long long int和任何实现定义的扩展有符号整数类型组成。
类似地,无符号整数类型由核心语言定义为由标准无符号整数类型(即unsigned char、unsigned short int、unsigned int和unsigned long int)以及与扩展有符号整数类型相对应的unsigned long long int任何实现定义的扩展无符号整数类型组成。
简而言之,每个 typedef 都可以是常见的内置类型之一或实现定义的扩展整数类型。大多数编译器不支持扩展整数类型,因此在这些编译器上它们必须是内置类型。