博客链接
常量表达式是指值不会改变并且在编译阶段就能得到计算结果的表达式,显然字面值属常量表达式,用常量表达式初始化的const对象也是常量表达式。
一个对象(或表达式)是不是常量表达式由它的数据类型和初始值共同决定。
//staff_size不是常量表达式,尽管staff_size的初始值是个字面值常量,但是它的数据类型只是一个普通的int而非const int。
int staff_size = 1;
//sz不是常量表达式,尽管sz本身是一个常量,但它的具体值直到运行时才能获取到
const int sz = get_size();