【发布时间】:2013-08-24 02:00:49
【问题描述】:
我觉得很烦人,我必须使用宏 _USE_MATH_DEFINES 才能将 pi 的值输入我的程序。或者我需要自己在自己的标题之一中定义它。或者我必须使用 boost 和所有这些。
这让我很恼火,没有标准的 c++ 标头以可移植的方式定义该常量。像 pi 这样的数学常量不在 C++ 标准中,有什么特别的原因吗?它会出现在标准的下一个版本中吗?
【问题讨论】:
-
这很烦人,但需要。只需将
_USE_MATH_DEFINES添加到编译器选项中,这样您就可以避免从标题中添加它。这是我可以建议的最佳解决方案 -
总有boost
-
除了宏是
_XOPEN_SOURCE(必须定义为700),常量是M_PI。 (这本身就是支持标准化的最有力论据。) -
C++ 委员会之所以没有添加它是因为
<math.h>属于C 委员会。为什么C委员会没有添加它?你得到了我。 -
C 标准的下一个版本定于 2022 年发布,因此任何更改都将是漫长的等待C - Preliminary C2x Charter
标签: c++ c++11 pi c++-standard-library