Standard library header <cfenv> (C++11)
From cppreference.net
该头文件最初作为 <fenv.h> 存在于 C 标准库中。
此头文件是 浮点环境 库的组成部分。
目录 |
类型
|
fenv_t
(C++11)
|
表示整个浮点环境的类型
(typedef) |
|
fexcept_t
(C++11)
|
表示所有浮点状态标志的集合类型
(typedef) |
函数
|
(C++11)
|
清除指定的浮点状态标志
(函数) |
|
(C++11)
|
检测哪些指定的浮点状态标志被设置
(函数) |
|
(C++11)
|
触发指定的浮点异常
(函数) |
|
(C++11)
(C++11)
|
从浮点环境复制或向浮点环境复制指定浮点状态标志的状态
(函数) |
|
(C++11)
(C++11)
|
获取或设置舍入方向
(函数) |
|
(C++11)
|
保存或恢复当前浮点环境
(函数) |
|
(C++11)
|
保存环境,清除所有状态标志并忽略所有后续错误
(函数) |
|
(C++11)
|
恢复浮点环境并触发先前触发的异常
(函数) |
宏
|
浮点异常
(宏常量) |
|
|
浮点舍入方向
(宏常量) |
|
|
(C++11)
|
默认浮点环境
(宏常量) |
概要
#define FE_ALL_EXCEPT /* 参见描述 */ #define FE_DIVBYZERO /* 参见描述 */ // 可选 #define FE_INEXACT /* 参见描述 */ // 可选 #define FE_INVALID /* 参见描述 */ // 可选 #define FE_OVERFLOW /* 参见描述 */ // 可选 #define FE_UNDERFLOW /* 参见描述 */ // 可选 #define FE_DOWNWARD /* 参见描述 */ // 可选 #define FE_TONEAREST /* 参见描述 */ // 可选 #define FE_TOWARDZERO /* 参见描述 */ // 可选 #define FE_UPWARD /* 参见描述 */ // 可选 #define FE_DFL_ENV /* 参见描述 */ namespace std { // 类型 using fenv_t = /* 对象类型 */; using 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
必须是整数类型
|
应为对象类型 |