Visual studio _isnan与Visual Studio 2015上的std::isnan有何不同

Visual studio _isnan与Visual Studio 2015上的std::isnan有何不同,visual-studio,visual-c++,Visual Studio,Visual C++,Visual Studio 2015提供了\u isnan和std::isnan来检查double是否为NaN 对于检查NaN不相同的简单程序的函数和程序集输出,遵循VS的“Go to Definition”不会在同一位置结束 isnan与std::isnan有何不同?写C++时应该用什么? < P> iSnA是从全局名称空间使用的,< >包含 std::isnan来自标准名称空间,它使用#include 您可以在Visual Studio 2015中使用其中任何一个。没关系 来自与微软的詹

Visual Studio 2015提供了
\u isnan
std::isnan
来检查double是否为NaN

对于检查NaN不相同的简单程序的函数和程序集输出,遵循VS的“Go to Definition”不会在同一位置结束


isnan与std::isnan有何不同?写C++时应该用什么?

< P> <强> iSnA<强>是从全局名称空间使用的,< <代码> >包含

std::isnan来自标准名称空间,它使用

#include

您可以在Visual Studio 2015中使用其中任何一个。没关系


来自与微软的詹姆斯·麦克内利斯(James McNellis)的私人通信(经批准后发布):

“它们在不同的时间点被集成到C运行时中。_isnan不久前与IEEE推荐的一些其他功能集成在一起;isnan后来作为C99的一部分被添加

如果您发现任何一种情况产生了错误的结果,请务必在上提交错误。”


我由此得出结论,
\u isnan
std::isnan
应该做同样的事情。

math.h公开
isnan
而不是
\u isnan
。我觉得它们不太一样。谢谢。更正。来自“isnan和isnanf函数是特定于Microsoft的。”我不认为
\uiSNAN
来自标准库标题。