后缀(或后缀)U, UL, ULL 表示负常量
Postfix (or suffix) U, UL, ULL for negative constants
在
C++中使用无符号后缀作为负常量是好习惯吗?
例如,使用安全吗,
foo(-1ull);
而不是
foo(unsigned long long(-1));
它并没有真正用于"负常数"。C++中的常量(文字)始终为非负数。所以,你在这里看到的是文字1ull
,前面有一元-
运算符。这意味着第一个变体的确切语义可以直接表示为
-(unsigned long long) 1
但不是
(unsigned long long) -1
(尽管两者最终产生相同的结果)。
顺便说一句,您的第二个变体,如所写,在语法上不正确。"多字"类型名称不能用于函数样式转换。 usigned(-1)
是合法的,但unsigned int(-1)
不是。 unsigned long long(-1)
也是非法的。
但是,让我们假设我理解您试图通过第二个变体说的话。在该假设下,两种变体都做同样的事情,因此您可以根据个人偏好或编码标准使用其中一种。不过第一个显然更短。
相关文章:
- 表示"accepting anything for this template argument" C++概念的通配符
- 增量运算符与后缀混淆
- 如何将ampl中的集合表示为c++中的向量
- std::is_base_of表示ctor编译错误
- 输入中的字符串数未知(以字母表示)
- 我可以信任表示整数的浮点或双精度来保持精度吗
- c++模板来表示多项式
- 询问在设计我的手臂模拟器功能表示格式1
- CMakeLists.txt中的命名空间表示法
- C++射线示踪剂ppm表示没有足够的数据来显示图像
- 堆栈后缀表示法评估等于中缀计算得到的不同
- 后缀表示法的插图不尊重第二组括号
- 将中缀转换为后缀表示法
- 中缀到后缀表示法
- 后缀(或后缀)U, UL, ULL 表示负常量
- 后缀表示法堆栈C++
- 后缀表示法计算器 (RPN) 问题C++
- 使用后缀表示法输入C++数字
- 如何在后缀和中缀表示法中接受负值?
- 后缀LL表示long long类型