我正在 64 位上使用 GCC 编译 C++ 程序 - machine/OS/(带有-m64传递给 的选项g++)。正如预期的那样,sizeof(long double) == 16– 我想知道是否有 16 字节长的整数标准类型?
PS__int128_t是一种人工扩展,它模拟我所理解的标准类型。除此之外我什么也没找到。
不,只有保证尺寸适用于char, unsigned char& signed char,它们是1:
5.3.3 大小[expr.sizeof]
\n\n\n\n\n1 sizeof 运算符产生其操作数的对象表示形式中的字节数。操作数可以是未求值的表达式,也可以是带括号的类型 ID。sizeof 运算符不得应用于具有函数或不完整类型的表达式,也不得应用于声明其所有枚举器之前的枚举类型,不得应用于此类类型的括号名称,或者应用于指定位字段的左值。sizeof(char)、sizeof(signed\n char) 和 sizeof(unsigned char) 均为 1。应用于任何其他基本类型 (3.9.1) 的 sizeof 结果是实现定义的。[ 注意:\n 特别是,sizeof(bool) 和 sizeof(wchar_t) 是由实现定义的。74) \xe2\x80\x94end note ] [ 注意:\n 字节的定义见 1.7,字节的定义见 3.9。对象表示的定义。\xe2\x80\x94结束注]
\n
(强调我的)
\n