在他的新书《C++程序设计语言》第四版的第149页上,Stroustrup先生写道:
我无法在标准中找到支持上述最后一个不等式的任何内容。对于
1 <= sizeof(wchar_t) <= sizeof(long)
我无法在标准中找到支持上述最后一个不等式的任何内容。对于
sizeof(bool) <= sizeof(long)
,我也可以说同样的话。
编辑:在3.9.1p5
中,您会发现:
这为该不等式提供了支持。wchar_t类型应具有与其他整数类型之一(称为其基础类型)相同的大小,符号和对齐要求(3.11)。
sizeof(wchar_t) <= sizeof(long long)
但不包括
sizeof(wchar_t) <= sizeof(long)
但我找不到任何证实的内容
sizeof(bool) <= sizeof(long)
sizeof(bool) <= sizeof(long)
可能是由 [conv.rank]/1 指定的保证: "bool 的 rank 应该小于所有其他标准整数类型的 rank"。(尽管 "rank" 不严格意味着 "size")。 - dypint128_t
,我认为3.9.1/5也允许wchar_t
比64位的long long
更大。 - dyp