名前空間
変種
操作

std::numeric_limits<T>::is_integer

From cppreference.com
< cpp‎ | ‎ | 数値制限
 
 
ユーティリティライブラリ
言語サポート
型のサポート (基本型、RTTI)
ライブラリ機能検査マクロ (C++20)
プログラムユーティリティ
可変引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20で非推奨)
 
 
 
static const bool is_integer;
(C++11まで)
static constexpr bool is_integer;
(C++11以降)

整数型算術型 `T` の場合、`std::numeric_limits<T>::is_integer` の値は `true` になり、それ以外の場合は `false` になります。この定数はすべての特殊化に対して意味があります。

[編集] 標準の特殊化

T `std::numeric_limits<T>::is_integer` の値
/* 非特殊化 */ false
bool true
char true
signed char true
unsigned char true
wchar_t true
char8_t (C++20 以降) true
char16_t (C++11 以降) true
char32_t (C++11 以降) true
short true
unsigned short true
int true
unsigned int true
long true
unsigned long true
long long (C++11 以降) true
unsigned long long (C++11 以降) true
float false
double false
long double false

[編集]

#include <cstddef>
#include <cstdint>
#include <limits>
 
static_assert
(
        std::numeric_limits<bool>::is_integer
    &&  std::numeric_limits<std::size_t>::is_integer
    &&  std::numeric_limits<std::int32_t>::is_integer
    &&  std::numeric_limits<std::int64_t>::is_integer
    &&  std::numeric_limits<decltype(42)>::is_integer
    && !std::numeric_limits<int*>::is_integer
    && !std::numeric_limits<float>::is_integer
    && !std::numeric_limits<double>::is_integer
    && !std::numeric_limits<long double>::is_integer
    && !std::numeric_limits<decltype([](){})>::is_integer // P0315R4
);
 
int main() {}

[編集] 関連項目

型が整数型であるかをチェックする
(クラステンプレート) [編集]
[static]
符号付きの型を識別する
(public static member constant) [編集]
[static]
厳密な型を識別する
(public static member constant) [編集]
[static]
有限の値の集合を表現する型を識別する
(public static member constant) [編集]
English 日本語 中文(简体) 中文(繁體)