字面值类型:算术类型、引用、指针。
    字面值常量类型:const 字面值类型。

    满足以下条件的类是字面值常量类:

    • 满足这个条件的是:数据成员都是字面值类型的聚合类。
    • 满足以下条件的也是:
      • 数据成员都是字面值类型
      • 至少有一个constexpr构造函数
      • 数据成员要么有constexpr类型类内初始值,要么由constexpr型构造函数初始化。
      • 使用默认的析构函数

    constexpr函数是最多只有一条return语句。

    1. class Debug {
    2. public:
    3. constexpr Debug(bool b = true) : hw(b), io(b), other(b) {}
    4. constexpr Debug(bool h, bool i, bool o) : hw(h), io(i), other(o) {}
    5. constexpr bool any() { return hw || io || other;}
    6. private:
    7. bool hw; // 字面值类型
    8. bool io;
    9. bool other;
    10. }