<type_traits>

類模板
<type_traits>

std::is_integral

template <class T> struct is_integral;
is_integral

Trait類,用於識別T是否為整型。

它繼承自 integral_constant,並根據Tis an integral type

fundamental integral types
bool
char
char16_t
char32_t
wchar_t
signed char
short int
int
long int
long long int
unsigned char
unsigned short int
unsigned int
unsigned long int
unsigned long long int

所有基本整型以及它們的所有別名(例如cstdint中的別名),包括它們的constvolatile限定的變體,都被此類視為整型。

列舉型別在C++中不被視為整型(參見is_enum)。

模板引數

T
一個型別。

成員型別

繼承自integral_constant
成員型別定義
value_typebool
型別true_type 或 false_type

成員常量

繼承自integral_constant
成員常量定義
truefalse

成員函式

繼承自integral_constant

示例

1
2
3
4
5
6
7
8
9
10
11
12
// is_integral example
#include <iostream>
#include <type_traits>

int main() {
  std::cout << std::boolalpha;
  std::cout << "is_integral:" << std::endl;
  std::cout << "char: " << std::is_integral<char>::value << std::endl;
  std::cout << "int: " << std::is_integral<int>::value << std::endl;
  std::cout << "float: " << std::is_integral<float>::value << std::endl;
  return 0;
}

輸出
is_integral:
char: true
int: true
float: false


另見