在C++中使用NaNs的最佳方式是什麼?在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
是否有一個很好的便攜式替代品,在使用時會引發浮點異常?
嗯...我正在玩這個,因爲我現在很好奇,但我不能讓我的異常。你做了什麼來獲得例外? – 2008-10-25 00:08:52
@JeffreyMartinez這不是一個正常的C++異常,如果這就是你的想法。這是一個浮點異常:請參閱[此處]的註釋(http://en.cppreference.com/w/cpp/numeric/fenv)。 – bames53 2012-11-05 15:55:23