C++中的std::is_union()模板
C++ STL中的 std::is_union模板 用于检查给定类型是否为联合类型。 它返回一个布尔值以显示相同。
语法 :
template <class T> struct is_union;
参数: 此模板接受单个参数T(特征类)以检查T是否为联合类型。
返回值 : 此模板返回以下布尔值:
- True: 如果类型为联合类。
- False: 如果类型为非联合类。
下面的程序示例说明了C++中的std :: is_union模板:
程序1: :
// C++ program to illustrate
// is_union template
#include <iostream>
#include <type_traits>
using namespace std;
struct GFG1 {
};
union GFG2 {
int var1;
float var2;
};
int main()
{
cout << boolalpha;
cout << "is_union:" << endl;
cout << "GFG1: "
<< is_union<GFG1>::value << endl;
cout << "GFG2: "
<< is_union<GFG2>::value << endl;
return 0;
}
is_union:
GFG1: false
GFG2: true
程序2: :
// C++ program to illustrate
// is_union template
#include <iostream>
#include <type_traits>
using namespace std;
union GFG1 {
int var1;
float var2;
char var3;
};
struct GFG2 {
union {
int var4;
float var5;
};
};
int main()
{
cout << boolalpha;
cout << "is_union:" << endl;
cout << "int: "
<< is_union<int>::value << endl;
cout << "GFG1: "
<< is_union<GFG1>::value << endl;
cout << "GFG2: "
<< is_union<GFG2>::value << endl;
return 0;
}
is_union:
int: false
GFG1: true
GFG2: false