字面值类:
回顾:编译期常量:
constexpr int a =3;
字面值类需要满足其数据成员都是字面值类型,比如字面值类不能够包含string。对于一个类的构造函数,如果没有声明为constexpr,那么编译器会认为它是在运行期构造。
利用下面的代码就可以声明为编译器常量的类。
必须要使用平凡的析构函数,或者说不能够人工定义析构函数,否则析构在运行期执行,编译器将会对类声明编译期常量感到困惑。
字面值类:
回顾:编译期常量:
constexpr int a =3;
字面值类需要满足其数据成员都是字面值类型,比如字面值类不能够包含string。对于一个类的构造函数,如果没有声明为constexpr,那么编译器会认为它是在运行期构造。
利用下面的代码就可以声明为编译器常量的类。
必须要使用平凡的析构函数,或者说不能够人工定义析构函数,否则析构在运行期执行,编译器将会对类声明编译期常量感到困惑。