在 C++ 中使用 NaN 的最佳方法是什么?
我发现std::numeric_limits<double>::quiet_NaN()
和std::numeric_limits<double>::signaling_NaN()
。我想signaling_NaN
用来表示一个未初始化的变量,如下所示:
double diameter = std::numeric_limits<double>::signaling_NaN();
但是,这会在分配时发出信号(引发异常)。我希望它在使用时引发异常,而不是在分配时。
有什么方法可以在signaling_NaN
不引发分配异常的情况下使用?是否有一个好的、可移植的替代方案在signaling_NaN
使用时会引发浮点异常?