概述
在C++中,constexpr是一个类型说明符,它用于指定一个变量或函数是“常量表达式”。
constexpr的主要目的是允许在编译时计算值,而不是在运行时。
当一个变量被声明为constexpr时,它的值必须在编译时就可以确定。这通常意味着它必须被初始化为一个常量表达式。
使用示例
constexpr修饰变量
constexpr int x = 5; // 正确:x是一个常量表达式
constexpr int y = x * 2; // 正确:y也是一个常量表达式,因为它依赖于另一个常量表达式
constexpr int z = someFunction(); // 错误:除非someFunction是一个constexpr函数,否则z的值不能在编译时确定
上面的函数someFunction()若是改为:
constexpr int someFunction()