c++ consteval怎样实现编译期计算

avatar
作者
猴君
阅读量:0

在 C++20 中,引入了 consteval 关键字,用于指示一个函数必须在编译时进行计算。下面是一个简单的示例,展示如何使用 consteval 实现编译期计算:

#include<iostream>  consteval int square(int x) {     return x * x; }  int main() {     constexpr int a = 5;     constexpr int b = square(a); // 这里的 square 函数会在编译期计算      std::cout << "The square of " << a << " is " << b << std::endl;      return 0; } 

在上面的代码中,我们定义了一个 consteval 函数 square,它接受一个整数参数并返回它的平方。然后,在 main 函数中,我们使用 constexpr 关键字声明了一个常量 a,并将其值设置为 5。接下来,我们调用 square 函数计算 a 的平方,并将结果存储在另一个 constexpr 变量 b 中。由于 square 函数被声明为 consteval,因此它的计算将在编译期完成。

最后,我们使用 std::cout 输出结果,可以看到 b 的值已经在编译期计算好了。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!