问问题
390 次
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 回答