标准库头文件 <cfenv> (C++11)
来自 cppreference.com
此头文件最初在 C 标准库中为 <fenv.h>.
此头文件是 浮点环境 库的一部分。
内容 |
[编辑] 类型
fenv_t
|
表示整个浮点环境的类型 |
fexcept_t
|
表示所有浮点状态标志的类型 |
[编辑] 函数
(C++11) |
清除指定的浮点状态标志 (函数) |
(C++11) |
确定指定浮点状态标志中的哪些已设置 (函数) |
(C++11) |
引发指定的浮点异常 (函数) |
(C++11)(C++11) |
从或向浮点环境复制指定浮点状态标志的状态 (函数) |
(C++11)(C++11) |
获取或设置舍入方向 (函数) |
(C++11) |
保存或恢复当前浮点环境 (函数) |
(C++11) |
保存环境,清除所有状态标志并忽略所有未来错误 (函数) |
(C++11) |
恢复浮点环境并引发先前引发的异常 (函数) |
[编辑] 宏
浮点异常 (宏常量) | |
浮点舍入方向 (宏常量) | |
(C++11) |
默认浮点环境 (宏常量) |
[编辑] 概要
namespace std { // types typedef /* object type */ fenv_t; typedef /* object type */ fexcept_t; // functions 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++ 标准。
DR | 应用于 | 已发布的行为 | 正确行为 |
---|---|---|---|
LWG 3905 | C++11 | std::fexcept_t 必须是整数类型 |
它是对象类型 |