std::numeric_limits::traps
static const bool traps | ? | (until C++11) |
---|---|---|
static constexpr bool traps | ? | (since C++11) |
价值std::numeric_limits<T>::traps
是true
所有算术类型T
如果用作算术操作的参数,则至少有一个值将生成陷阱%28http://en.wikipara.com/wiki/trap_%28计算%29%29...
标准专业化
T | value of std::numeric_limits<T>::traps |
---|---|
/* non-specialized */ | false |
bool | false |
char | usually true |
signed char | usually true |
unsigned char | usually true |
wchar_t | usually true |
char16_t | usually true |
char32_t | usually true |
short | usually true |
unsigned short | usually true |
int | usually true |
unsigned int | usually true |
long | usually true |
unsigned long | usually true |
long long | usually true |
unsigned long long | usually true |
float | usually false |
double | usually false |
long double | usually false |
注记
在大多数平台上,整数除以零总是陷阱,std::numeric_limits<T>::traps
是true
对于所有支持值0的整数类型。例外情况是bool
*即使除法false
由于积分提升而产生的陷阱bool
到int
,它是零值的。int
那个陷阱。0不是类型的值。bool
...
在大多数平台上,浮点异常可能在运行时(%28等)被打开或关闭。feenableexcept()
在Linux或_controlfp
在Windows%29上,在这种情况下,std::numeric_limits<T>::traps
对于浮点类型,反映程序启动时浮点捕获设备的状态,即false
在大多数现代系统中。一个例外是一个DEC Alpha程序,在这里它是true
如果编译没有-ieee
...
另见
浮点环境
*。
淡淡[医]以前静态标识浮点类型,在舍入%28公共静态成员常量%29之前检测微小性。
有[医]脱诺姆[医]损失静态将检测精度损失的浮点类型标识为非正态化损失,而不是不精确的结果%28公共静态成员常量%29。
? cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com