字面量后缀
字面量后缀(Literal Suffix)
或称为 字面量修饰符(Literal Modifier)。
详细说明:
作用:
- 用于指定字面量的具体类型(如
int
、long
、unsigned
等)。 - 影响编译器如何解释该字面量的存储方式和取值范围。
- 用于指定字面量的具体类型(如
常见字面量后缀:
后缀 类型 示例 U
unsigned int
42U
L
long
123L
UL
unsigned long
100UL
LL
long long
999LL
ULL
unsigned long long
0xFFFFULL
F
float
3.14F
L
long double
3.14L
C++11 新增的字面量后缀(用户自定义字面量):
C++11 允许用户自定义字面量后缀(User-defined Literals),例如:
constexpr long double operator"" _km(long double val)
{
return val * 1000.0; // 千米转米
}
double distance = 5.0_km; // 相当于 5000.0 米
总结:
- 标准字面量后缀(如
U
、L
、UL
)用于指定内置类型的字面量。 - 用户自定义字面量后缀(C++11 引入)允许扩展新的字面量语义。
如果你指的是 1UL
中的 UL
,它就是
无符号长整型(unsigned long
)的字面量后缀。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 qyhome!