C ++ 11的长期真是至less有64位?

它在这里和这里说的typeslong long至less和int一样长,并且不less于64位 。 我一直在看C ++ 11标准§3.9.1基本types部分,我找不到任何对64位的引用。 我所能find的是,至less在long int ,至less和int一样长。 该标准列出了long long标准整数types,而不是一个扩展的types,所以我想知道是否这个long long持有至less64位的断言是真实的。 如果是,它在哪里陈述? 请注意,我只是在谈论C ++ 11标准long long而已。

C ++标准为此引用了C标准,参见[c.limits]。 LLONG_MAX<climits>定义,与C的<limits.h>LLONG_MAX具有相同的含义。 这就是C所说的:

5.2.4.2.1整数types的大小<limits.h>

下面给出的值应该被适用于#if预处理指令的常量expression式替代。 […]其实现定义的值应与所示值相同或更大(绝对值),具有相同的符号。

[…]

long long inttypes的对象的最大值

LLONG_MAX +9223372036854775807 // 2 63 -1

必须能够表示值9223372036854775807的签名types需要64位或更多。