为什么决定用constexpr装饰功能?

时间:2014-06-07 16:04:11

标签: c++ c++11 constexpr

如果可能的话,c ++中有一个功能可以按需强制执行函数的编译时执行。 该功能是constexpr个功能。

现在在委员会,他们正在尝试(我认为这是Niccolas Josuttis的努力) 关于何时使用constexpr的指南,因为在C ++ 14中他们放松了constexpr 是一种潜在的风险"到处使用constexpr

首先,我想知道为什么决定用constexpr修饰函数。

在D中你可以这样做:

//No special signature, as in C++'s constexpr
uint factorial(uint n) { ...}

//Calculate at compile-time. Note that the request is just made at the point of use
static val = fac(5);
  • 为什么在C ++中决定你必须首先装饰函数签名?
  • C ++ 17可以放宽这个规则吗?这将消除设计指南的必要性 会使它更灵活。您可以使用constexpr在D中使用static并删除其他部分。

0 个答案:

没有答案