11
4

3 回答 3

2

我认为唯一的原因是没有人写过让他们成为 constexpr 的提案。一般来说,这是可能的,因为它们是纯函数。实现可以使用编译器内在函数来为它们的 lib 实现它们,因此不需要“真正的”实现。但是如果没有提案,您就不能指望constexpr这些功能的实现。

于 2014-01-23T18:44:17.707 回答
1

名称中暗示的数学库<cmath>来自 c,constexpr甚至是在没有想法的时候编写的。

为了使大多数功能成为constexpr您必须以某种constexpr方式重写整个库。

于 2014-01-23T09:15:19.350 回答
1

答案在您发布的链接中:

 the function body must be either deleted or defaulted or contain only
 the following:   

....
恰好是一个仅包含文字值、constexpr 变量和函数的 return 语句。

那里的功能不是那么简单。事实上,它们非常复杂,不可能作为一个单独的 return 语句来实现。三角函数、对数函数和双曲函数非常复杂,并且难以实现为 constexpr 函数。

于 2014-01-23T09:37:47.983 回答