c++中constexpr是什么意思
时间: 2023-07-27 10:07:04 浏览: 142
C++中的const和constexpr详解
`constexpr` 是 C++11 引入的一个关键字,用于在编译期间计算出表达式的值,并将其作为常量值来使用。它可以用于修饰变量、函数、构造函数以及类成员函数等。使用 `constexpr` 可以提高程序的执行效率,因为在编译期间就已经计算出了值,避免了运行时的计算。
例如,下面代码演示了如何使用 `constexpr` 修饰一个函数,使其在编译期间计算出斐波那契数列的值:
```c++
constexpr int fibonacci(int n) {
return n <= 1 ? n : fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
constexpr int fib5 = fibonacci(5); // 在编译期间计算出斐波那契数列的第 5 个数
return 0;
}
```
在上面的例子中,`fibonacci()` 函数被声明为 `constexpr`,因此可以在编译期间计算出斐波那契数列的值。在 `main()` 函数中,使用 `constexpr` 修饰的变量 `fib5` 在编译期间就已经被计算出来了。
阅读全文