Namespaces
Variants

std::numeric_limits<T>:: has_infinity

From cppreference.net
Utilities library
static const bool has_infinity ;
(C++11まで)
static constexpr bool has_infinity ;
(C++11以降)

std:: numeric_limits < T > :: has_infinity の値は、正の無限大を明確な特殊値として表現可能なすべての型 T に対して true です。この定数はすべての浮動小数点型に対して意味を持ち、 std:: numeric_limits < T > :: is_iec559 == true の場合には確実に true となります。

標準特殊化

T std:: numeric_limits < T > :: has_infinity の値
/* non-specialized */ false
bool false
char false
signed char false
unsigned char false
wchar_t false
char8_t (C++20以降) false
char16_t (C++11以降) false
char32_t (C++11以降) false
short false
unsigned short false
int false
unsigned int false
long false
unsigned long false
long long (C++11以降) false
unsigned long long (C++11以降) false
float 通常 true
double 通常 true
long double 通常 true

#include <iostream>
#include <limits>
int main()
{
    std::cout << std::boolalpha
              << std::numeric_limits<int>::has_infinity << '\n'
              << std::numeric_limits<long>::has_infinity << '\n'
              << std::numeric_limits<float>::has_infinity << '\n'
              << std::numeric_limits<double>::has_infinity << '\n';
}

出力例:

false
false
true
true

関連項目

[static]
指定された浮動小数点型の正の無限大の値を返す
(public static member function)
特殊値「quiet not-a-number」(NaN)を表現できる浮動小数点型を識別する
(public static member constant)
特殊値「signaling not-a-number」(NaN)を表現できる浮動小数点型を識別する
(public static member constant)