字面值常量类:数据成员都是字面值类型的聚合类是字面值常量类。如果一个类不是聚合类,但是它符合一下要求,则它也是个字面值常量类:
1、数据成员都必须是字面值类型。
2、类必须至少含有一个constexpr构造函数。
3、如果一个数据成员含有类内初始值,则内置类型成员的初始值必须是一条常量表达式;或者如果成员属于某种类型,则初始值必须使用成员自己的 constexpr构造函数。
constexpr构造函数:
1、尽管构造函数不能是const的,但是字面值常量类的构造函数可以是constexpr函数。事实上,一个字面值常量类必须至少提供一个constexpr构造函数。