来自 C99 的 fenv.h 在 C++11

fenv.h from C99 in C++11

本文关键字:C++11 fenv C99 来自      更新时间:2023-10-16
来自

C99 的 fenv.h 存在于 C++11 中吗?有没有其他方法可以使用像fesetround这样的功能?也许提升?

GCC 4.7.2 编译了以下代码:

#include <cfenv>
int main() {}

http://liveworkspace.org/code/ffbd8e8a24633c7e74f7bcead3b1a287

C99 fenv.h存在于C++11吗?

是的,确实如此。

参考:

26.3 The floating-point environment [cfenv]
Standard C++11 26.3.1 Header <cfenv> synopsis [cfenv.syn]

还有其他方法可以使用像fesetround()这样的功能吗?也许提升?

fesetround()函数已由 cfenv 在 C++11 中提供。
此外,fenv.h也存在于 C++11 中,以便提供对 c 标准标头的向后兼容性。它涵盖在:

D.5 C standard library headers [depr.c.headers]

使用 fenv.hcfenv 有什么区别?

包括 cfenvstd命名空间中的符号名称导入,也可能在全局命名空间中导入符号名称。包括fenv.h将导入全局命名空间中的符号名称,并可能导入std命名空间中的符号名称。

是的,确实如此。 cfenv似乎是正确的标头,它刚刚在 C++11 中添加。