union在c++中是联合体。声明定义和struct差不多,但是用的时候却有很大的差别。struct的每个参数都有格各自的内存,是分开的。而union中的参数是共享内存的。
#include"iostream"
using namespace std;
void main()
{
union{
int a;
int b;
}UnionTest;
UnionTest.a = 1;
UnionTest.b = 2;
cout<<UnionTest.a<<UnionTest.b<<endl;
getchar();
}
这个的输出是22
#include"iostream"
using namespace std;
void main()
{
struct{
int a;
int b;
}UnionTest;
UnionTest.a = 1;
UnionTest.b = 2;
cout<<UnionTest.a<<UnionTest.b<<endl;
getchar();
}
这个的输出是12