- limits[meta header]
- std[meta namespace]
- numeric_limits[meta class]
- function[meta id-type]
// C++03
static T quiet_NaN() throw();
// C++11
static constexpr T quiet_NaN() noexcept;
浮動小数点数型において、シグナルを発生させないNaN (Not a Number)を取得する。
numeric_limits<float>::
has_quiet_NaN
がtrue
のとき、numeric_limits<float>::quiet_NaN()
はNAN
マクロの値と等しい。
has_quiet_NaN
!= false &&
is_iec559
!= false
この要件を満たさない場合はT()
が返る。
シグナルを発生させないNaN
投げない
#include <iostream>
#include <limits>
int main()
{
constexpr float f = std::numeric_limits<float>::quiet_NaN();
constexpr float d = std::numeric_limits<double>::quiet_NaN();
std::cout << "float : " << f << std::endl;
std::cout << "double : " << d << std::endl;
}
- quiet_NaN()[color ff0000]
float : 1.#QNAN
double : 1.#QNAN