什么是“扩展整数类型”?

引用我正在阅读的书:

  1. signed char, signed short int, signed int, signed long int, signed long long int都称为标准有符号整数类型
  2. unsigned char, unsinged short int, unsigned int, unsigned long int, unsinged long long int, _Bool称为标准无符号整数类型
  3. 除了标准整数类型之外,C99标准还允许实现定义的扩展整数类型 ,包括有符号和无符号。 例如,编译器可能提供有符号和无符号的128位整数类型。

我有第3点的问题。 这些“扩展整数类型”是什么? 任何例子?

扩展整数类型的一个示例是由MS Visual C定义的__int64 64位有符号整数类型。虽然此类型显然是一个整数类型,但在旧版本的MSVC中,它无法获取为intlong intlong long int 。 (MSVC同时增加了对long long int支持。)

扩展整数类型是特定于实现的整数类型,它们作为扩展提供。 因为几乎所有关于此类扩展的内容都是实现定义的,所以标准对它们不能说太多。 但是,C ++ 09提议提供了一个框架,用于以不干扰标准兼容程序行为的方式实现此类扩展。

你应该参考这个 ,它涵盖了有关扩展整数类型的所有内容。