【问题标题】:Prefer constexpr over const [duplicate]更喜欢 constexpr 而不是 const [重复]
【发布时间】:2016-09-24 04:11:44
【问题描述】:

constexpr 有时暗示const

是否应该 - 在这些情况下 - 总是更喜欢 constexpr 而不是 const,例如由于运行时加速或是否有任何缺点?

【问题讨论】:

  • 我没有问constexprconst 之间的区别是什么,而是您是否应该更喜欢其中一个。在this 回答@DarioOO 提出了同样的问题而没有得到答案。所以,我不明白downvoter(s) 以及为什么它应该与上述问题重复。

标签: c++ constants constexpr


【解决方案1】:

constexpr 表示编译器知道它是常量并且可以计算它的值。这允许您在模板等编译时构造中使用它,并可能允许编译器进行精确的优化。

如果可以是constexpr,就这样吧。

【讨论】:

    【解决方案2】:

    简而言之,是的,您应该更喜欢 constexpr,只要您的表达式可以并且应该在编译时进行评估。

    请参阅此问题了解更多详情: Difference between `constexpr` and `const`

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-28
      • 2011-05-13
      • 2019-04-20
      • 2022-01-03
      • 2010-09-24
      • 1970-01-01
      • 2017-09-21
      相关资源
      最近更新 更多