答:这个关键字用于指示一个变量、函数或者对象可以在编译时求值(即它们是常量表达式)。这意味着当程序编译时,编译器会尝试计算出该表达式的值,而不是在程序运行时计算它,从而提高了程序的性能。
常量表达式的定义
constexpr
可以用于声明常量表达式,表示该表达式的值在编译时就可以确定。常量表达式必须是一个能够在编译时就能计算出值的表达式。
constexpr int square(int x) {return x * x;
}int main() {constexpr int result = square(5); // 编译时求值// 运行时不会重新计算 square(5)
}
常量变量
constexpr
可以用于定义常量变量,要求该变量必须在编译时就有一个已知的值。它和const
的区别是,const
只是指明值不变,而constexpr
表示该值在编译时就已知。
constexpr int max_size = 100;