【发布时间】:2015-03-03 02:10:19
【问题描述】:
关于常见的 C++ 数学函数,我有一个非常幼稚的问题。
此处列出的数学函数 http://en.cppreference.com/w/cpp/numeric/math
它们是 glibc 函数还是只是可以以不同方式实现的高级名称?我理解上面的链接是否正确,只指定了 all C++ 编译器应该遵循的接口?谢谢。
【问题讨论】:
关于常见的 C++ 数学函数,我有一个非常幼稚的问题。
此处列出的数学函数 http://en.cppreference.com/w/cpp/numeric/math
它们是 glibc 函数还是只是可以以不同方式实现的高级名称?我理解上面的链接是否正确,只指定了 all C++ 编译器应该遵循的接口?谢谢。
【问题讨论】:
该页面上的那些是 C++ standard 的一部分(链接到 2014 年 11 月的工作草案),要么是 C++ 独有的,要么是包含的 C 库函数的一部分。这些函数及其相应部分的特定标题(在该页面上列出)是:
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++ 标头中声明,并在您可以访问的地方实现。
请注意,glibc 是许多类 Unix 系统使用的 C 运行时库,它只是某些 C 运行时函数的特定于平台的实现。它确实为使用 glibc 的系统实现了其中一些功能。
顺便说一句,要挑选 nits,给定的链接没有指定任何内容,它只是记录。规范在标准本身中给出;希望您链接到的文档等文档得到良好维护和正确。
【讨论】:
这些函数位于 std 命名空间中 - 构成标准 C++ 运行时,您几乎可以在每个编译器发行版中找到它们。
他们与glibc 无关,这是一个独立的 GNU C 库。
【讨论】: