所以我理解在C ++中使用constexpr
是为了在编译时进行计算的已定义表达式,更明显的是将变量或函数声明为常量表达式。我的困惑来自于理解将其用于不会改变的简单功能的任何好处。
假设你有一个函数来简单地对一个值进行平方......
int square(int x) {
return x * x;
}
通常情况下,这种情况永远不会改变或被覆盖,但是,我已经看到有人说将数字定义为更好的做法......
constexpr int square(int x) {
return x * x;
}
对我而言,这似乎是一个微不足道的变化。任何人都可以告诉我声明constexpr
等简单表达式的重要优势吗?
答案 0 :(得分:1)
该更改的优点是,只要在编译时知道<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
<scope>provided</scope>
</dependency>
,x
的结果就可用于初始化square
变量或作为模板参数。