== 和 != 运算符似乎没有受到 IEEE 754 对于NaN的限制,@AlexD的答案中已经指出。
然而,
isunordered(x, y) 为 true
isgreater(x, y)、isgreaterequal(x, y)、isless(x, y)、islessequal(x, y) 都为 false
关系运算符和相等运算符支持数字值之间通常的数学关系。对于任何一对有序的数字值,只有关系之一 — 小于、大于 和 等于 — 是真的。当参数值为 NaN 时,关系运算符可能会引发"无效"的浮点异常。对于一个 NaN 和一个数字值,或者两个 NaN,只有无序关系是真的。
C++ 标准在
分类/比较函数的行为与C标准中相应名称的宏定义在7.12.3“分类宏”和7.12.14“比较宏”中表现相同。
“暗香浮动月黄昏”的意思及全诗出处和翻译赏析
温州到杭州自驾路线