1

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

gcc 4.7.2 编译此代码:

#include <cfenv>

int main() {}

http://liveworkspace.org/code/ffbd8e8a24633c7e74f7bcead3b1a287

4

2 回答 2

4

fenv.hfromC99存在C++11于?

是的,它确实。

参考:

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

还有其他使用函数的方法fesetround()吗?也许提升?

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

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

使用fenv.hor 和有什么不一样cfenv

包括在命名空间和可能在全局命名空间cfenv中导入符号名称。包括在全局命名空间和可能在命名空间中导入符号名称。stdfenv.hstd

于 2012-10-01T04:08:11.867 回答
3

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

于 2012-10-01T04:06:48.263 回答