C++中的std::is_integral模板
C++ STL中的 std::is_integral模板 用于检查给定的类型是否为整型。它将返回一个布尔值来显示结果。
语法:
template <class T> struct is_integral;
模板参数: :这个模板接受一个单一的参数 T(Trait类) 检查T是否是整型或者不是整型。
返回值: :这个模板将返回一个布尔值,如下所示:
- 真 :如果类型是整型。
- 假 :如果类型是非整型。
下面的程序说明了C++中的std::is_integral模板:
程序1: :
// C++程序例示
// is_integral函数
#include <iostream>
#include <type_traits>
using namespace std;
// 主程序
int main()
{
cout << boolalpha;
cout << "is_integral:" << endl;
cout << "char:" << is_integral
<char>::value << endl;
cout << "int:" << is_integral
<int>::value << endl;
cout << "float:" << is_integral
<float>::value << endl;
return 0;
}
is_integral:
char:真
int:真
float:假
程序2: :
// C++程序例示
// is_integral函数
#include <iostream>
#include <type_traits>
using namespace std;
// 主程序
int main()
{
cout << boolalpha;
cout << "is_integral:" << endl;
cout << "double:" << is_integral
<double>::value << endl;
cout << "bool:" << is_integral
<bool>::value << endl;
cout << "long int:" << is_integral
<long int>::value << endl;
return 0;
}
is_integral:
double:假
bool:真
long int:真
程序3: :
// C++程序例示
// is_integral函数
#include <iostream>
#include <type_traits>
using namespace std;
// 主程序
int main()
{
cout << boolalpha;
cout << "is_integral:" << endl;
cout << "wchar_t:" << is_integral
<wchar_t>::value << endl;
cout << "long double:" << is_integral
<long double>::value << endl;
cout << "unsigned short int:" << is_integral
<unsigned short int>::value<< endl;
return 0;
}
is_integral:
wchar_t:真
long double:假
unsigned short int:真