标准库标头 <cfenv> (C++11)

< cpp‎ | header


此标头原作为 <fenv.h> 存在于 C 标准库。

此头文件是浮点环境库的一部分。

类型

fenv_t 表示整个浮点环境的类型
fexcept_t 汇集地表示所有浮点状态标志的类型

函数

(C++11)
清除指定的浮点状态标志
(函数)
(C++11)
确定设置了哪个指定的浮点状态标志
(函数)
(C++11)
引发指定的浮点异常
(函数)
从浮点环境(或向其中)复制指定的浮点状态标志
(函数)
(C++11)(C++11)
获取或设置舍入方向
(函数)
保存或恢复当前浮点环境
(函数)
(C++11)
保存环境,清除所有状态标志,并忽略所有将来的错误
(函数)
(C++11)
恢复浮点环境并引发之前引发的异常
(函数)

浮点异常
(宏常量)
浮点舍入方向
(宏常量)
(C++11)
默认浮点环境
(宏常量)

概要

namespace std {
    // 类型
    typedef /* 对象类型 */ fenv_t;
    typedef /* 对象类型 */ fexcept_t;
 
    // 函数
    int feclearexcept(int except);
    int fegetexceptflag(fexcept_t *pflag, int except);
    int feraiseexcept(int except);
    int fesetexceptflag(const fexcept_t *pflag, int except);
    int fetestexcept(int except);
    int fegetround(void);
    int fesetround(int mode);
    int fegetenv(fenv_t *penv);
    int feholdexcept(fenv_t *penv);
    int fesetenv(const fenv_t *penv);
    int feupdateenv(const fenv_t *penv);
}

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 3905 C++11 std::fexcept_t 必须是整数类型 它是对象类型