字面量后缀(Literal Suffix)

或称为 字面量修饰符(Literal Modifier)

详细说明:

  1. 作用

    • 用于指定字面量的具体类型(如 intlongunsigned等)。
    • 影响编译器如何解释该字面量的存储方式和取值范围。
  2. 常见字面量后缀

    后缀 类型 示例
    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
  3. 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 米

总结:

  • 标准字面量后缀(如 ULUL)用于指定内置类型的字面量。
  • 用户自定义字面量后缀(C++11 引入)允许扩展新的字面量语义。

如果你指的是 1UL中的 UL,它就是 无符号长整型(unsigned long)的字面量后缀