【发布时间】:2012-04-07 08:49:29
【问题描述】:
它说on wikipedia 和in Stroustrup's FAQ 类型long long 至少和int 一样长,并且不少于64 位。我一直在查看 C++11 标准 §3.9.1 基本类型部分,但找不到任何对 64 位的引用。我所能找到的只是它至少与long int 一样长,至少与int 一样长。标准将long long 列为标准 整数类型,而不是扩展 类型,所以我想知道long long 至少包含64 位的断言是否是真的。如果是,在哪里说明?
请注意,我说的只是 C++11 标准 long long。
【问题讨论】:
-
标准当然是对的。它只是告诉您各种类型之间的大小差异是什么,例如 short、int、long、long long。实际大小(即是否为 64 位)取决于平台。由于 C++ 编译器可用于各种平台。您可以在特定的头文件中找到特定于平台、编译器的实际大小。
-
@ErvinBosenbacher:该标准还为内置类型指定了最小大小。确切的类型是实现定义的,是的,但实现不能只是组成数字
-
@jalf:谢谢,是的,没错 :) Limits.h 是文件。
-
@ErvinBosenbacher 我引用的参考文献明确提到了 64 位,无论平台如何,这似乎很奇怪,这就是我问这个问题的原因。
-
好的。感谢您的澄清。