C++中常用的数学函数

Common mathematical functions in C++

关于常见的 C++ 数学函数,我有一个非常幼稚的问题。

此处列出的数学函数 http://en.cppreference.com/w/cpp/numeric/math

它们是 glibc 函数还是可以用不同方式实现的高级名称?我对上面 link 的理解是否正确仅指定了 所有 C++ 编译器应遵循的接口?谢谢。

该页面上的那些是 C++ standard 的一部分(link 转到 2014 年 11 月的工作草案),或者是 C++ 独有的,或者是包含的 C 库函数的一部分。这些功能及其相应部分的具体 headers(列在该页面上)是:

  • cstdlib:第 26.8 节(第 1004-1008 页)
  • cinttypes:第 27.9.2.3-4 节(第 1093-1094 页)
  • cmath:第 26.8 节(第 1004-1008 页)
  • numerics(在数值库选项卡上):第 26.7 节(第 1001-1004 页)

它们主要在第 26 节中定义。该标准指定了这些函数的高级行为、各种属性和身份等,但没有指定精度要求等低级实现细节。许多C 库函数描述推迟到 C 标准,只给出了 C++ 特定更改的注释。

它们将在您系统上的标准 C++ headers 中声明,并在您可以访问的地方实现。

请注意,glibc 是许多 Unix-like 系统使用的 C 运行时库,它只是某些 C 运行时函数的 platform-specific 实现。它确实为使用 glibc 的系统实现了其中一些功能。

顺便说一句,要挑选尼特,给定的 link 没有指定任何内容,它只是记录。规范在标准本身中给出;希望诸如您 link 之类的文档是 well-maintained 并且是正确的。

这些函数位于 std 命名空间中 - 构成标准 C++ 运行时,您几乎可以在每个编译器发行版中找到它们。

它们与 glibc 无关,后者是独立的 GNU C 库。