LL是什么意思?
What does LL mean?
LL
是否在标准中的任何地方定义(难以获得)?
ideone接受代码
int main()
{
std::cout << sizeof(0LL) << std::endl;
std::cout << sizeof(0);
}
并打印
8
4
但是这是什么意思呢?
在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!");
}
LL
是long-long的后缀,这是64位的大多数(所有?)C/c++实现。因此,0LL
是一个值为0的64位字面值。
这类似于L
作为长字面值的后缀,在大多数32位和64位C/c++实现中,其大小与非长int
相同。(在16位实现中,int
的大小通常为16位,因此L
后缀将表示32位整数字面值,而不是默认的16位。)
0LL
是一个整数字面值。它的后缀是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 ...
我们将从一个例子开始:
std:: cout & lt; & lt;2你& lt; & lt;endl;
这个结果将是2,这是因为根据数据大小,为了正确地修复它,我们希望在某些情况下,使用2作为long,这正是所发生的。给出的输出类型为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或ull
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 当我们说在执行程序时将操作系统的控制权传递给main()函数时,我们的意思是什么
- 这句话在c++中的意思是什么
- 这个typedef的意思是什么
- 这句话的意思是什么
- 意思是什么
- 这个句法的意思是什么?