C++ 整数类型的大小
示例
以下类型定义为整数类型:
char
有符号整数类型
无符号整数类型
char16_t和char32_t
bool
wchar_t
除了sizeof(char)/sizeof(signedchar)/sizeof(unsignedchar),它在§3.9.1.1[basic.fundamental/1]和§5.3.3.1[expr.sizeof]之间分割,并且sizeof(bool)完全由实现定义,没有最小大小,最小大小这些类型的要求在标准的第3.9.1节[基本]中给出,并在下面进行详细说明。
尺寸char
C++标准的所有版本指定,在§5.3.3.1,即sizeof产率1为unsignedchar,signedchar,和char(它被实现中定义的是否char类型是signed或unsigned)。
char足够大,可以表示256个不同的值,适合存储UTF-8代码单元。
有符号和无符号整数类型的大小
该标准规定,在§3.9.1.2,在列表中的整数类型签名标准,包括signedchar,shortint,int,longint,和longlongint,每种类型将提供至少相同的存储那些在列表中它前面。此外,在§3.9.1.3作为指明,每个这些类型的具有对应的标准的无符号整数类型,unsignedchar,unsignedshortint,unsignedint,unsignedlongint,和unsignedlonglongint,其具有相同的尺寸和取向作为其对应的符号的类型。另外,如在§3.9.1.1指定,char具有的尺寸和对准要求二者相同signedchar和unsignedchar。
在C++11之前,longlong并且unsignedlonglong尚未正式成为C++标准的一部分。然而,他们的介绍C后,在C99,许多编译器的支持longlong作为一个扩展的有符号整数类型,并unsignedlonglong为扩展无符号整数类型,具有相同的规则的C类型。