提问人:Luchian Grigore 提问时间:3/23/2013 最后编辑:phuclvLuchian Grigore 更新时间:7/31/2021 访问量:37502
LL 是什么意思?
What does LL mean?
问:
在标准中的任何地方都定义了(很难找到术语)?LL
IDEONE 接受代码
int main()
{
std::cout << sizeof(0LL) << std::endl;
std::cout << sizeof(0);
}
和印刷品
8
4
但这意味着什么呢?
答:
LL
是 long-long 的后缀,在大多数(所有?C/C++ 实现。值为 0 的 64 位文本也是如此。0LL
这类似于长文本的后缀,在大多数 32 位和 64 位 C/C++ 实现上,其大小与非长文本相同。(在 16 位实现中,大小通常为 16 位,因此后缀将指示 32 位整数文本,而默认值为 16 位。L
int
int
L
它在 C++11 标准的第 2.14.2 段中指定:
2.14.2 整数文字
[...]
long-long-suffix:其中之一
ll LL
第2.14.2/2段,特别是表6,继续具体说明十进制、八进制和十六进制常数后缀的含义及其类型。
由于是八进制文字,因此 的类型为:0
0LL
long long int
#include <type_traits>
int main()
{
// Won't fire
static_assert(std::is_same<decltype(0LL), long long int>::value, "Ouch!");
}
0LL
是一个整数文本。它的后缀决定了它可能具有的类型集。对于十进制常量,类型为 .对于八进制或十六进制常量,如有必要,类型将为 OR。在 的情况下,文本的类型为 。LL
long long int
long long int
unsigned long long int
0LL
long long int
整数文本的类型是表 6 中相应列表中的第一个类型,可以在其中表示其值。
表 6 - 整数常量的类型
Suffix Decimal constants Octal or hexadecimal constant ... ll or LL long long int long long int unsigned long long int ...
评论
long long int
unsigned long long int
long long int
我们将从一个例子开始:
std::cout << 2LL << endl;
这个结果将是 2,并且会发生这种情况,因为根据数据大小,为了正确修复它,我们希望在某些情况下使用与 2 一样长的长度,而这正是发生的事情。给出的输出类型为 long long,表示常量 int 2。
另一个后缀是(来自极客):
unsigned int:整数常量末尾的字符 u 或 U。
long int:整数常量末尾的字符 l 或 L。
unsigned long int:整数常量末尾的字符 ul 或 UL。
long long int:整数常量末尾的字符 ll 或 LL。 unsigned long long int:整数常量末尾的字符 ull 或 UL。
评论