constexpr 对不变表达式的好处[重复]
Posted
技术标签:
【中文标题】constexpr 对不变表达式的好处[重复]【英文标题】:Benefit of constexpr on non-changing expressions [duplicate] 【发布时间】:2017-06-13 08:52:33 【问题描述】:所以我知道在 C++ 中使用 constexpr
是用于在编译时评估的已定义表达式,更明显是将变量或函数声明为常量表达式。我的困惑来自于理解将它用于不会改变的简单功能的任何好处。
假设您有一个函数可以简单地对一个值进行平方...
int square(int x)
return x * x;
通常它永远不会改变或被覆盖,但是,我看到人们说最好将其定义为...
constexpr int square(int x)
return x * x;
对我来说,这似乎是一个微不足道的变化。谁能告诉我声明像constexpr
这样简单的表达式的严重优势?
【问题讨论】:
【参考方案1】:这种更改的好处是,只要在编译时知道x
,square
的结果就可以用于初始化constexpr
变量或作为模板参数。
【讨论】:
以上是关于constexpr 对不变表达式的好处[重复]的主要内容,如果未能解决你的问题,请参考以下文章