- cfloat[meta header]
- macro[meta id-type]
- cpp26[meta cpp]
#define DBL_SNAN see belowdouble型のシグナルNaN (signaling NaN) を表す定数式マクロ。
std::numeric_limits<double>::signaling_NaN()と等しい。
C23で<float.h>に追加されたマクロであり、C++26で<cfloat>に取り込まれた。
- シグナルNaNがサポートされない場合、このマクロは定義されない
#include <iostream>
#include <cfloat>
#include <cmath>
int main()
{
double x = DBL_SNAN;
std::cout << std::boolalpha << std::isnan(x) << std::endl;
}- DBL_SNAN[color ff0000]
- std::isnan[link /reference/cmath/isnan.md]
true
- C++26
- Clang: 22 [mark noimpl]
- GCC: 16.1 [mark noimpl]
- Visual C++: 2026 Update 2 [mark noimpl]
- P3348R4 C++26 should refer to C23 not C17
- C++26がC23を参照するようになり、このマクロが
<cfloat>に追加された
- C++26がC23を参照するようになり、このマクロが