标签:
1 typedef union para 2 { 3 double tmp[10]; 4 struct 5 { 6 double a; 7 double b; 8 double c; 9 double d; 10 }NP; 11 }NPara; 12 //或者如下所示 13 union para 14 { 15 double tmp[10]; 16 struct 17 { 18 double a; 19 double b; 20 double c; 21 double d; 22 }NP; 23 }; 24 typedef union para NPara; 25 26 //详细可以参看typedef的用法,本文主要讲解union的用法,不再赘述
union联合体的用法:
例如利用typedef了以后,我们可以这样声明联合体对象
NPara Nlpara; //调用的时候可以采用 Nlpara.NP.a;
或者声明联合体指针,
NPara *pointer;//但是仅仅声明了一个指针,指针并没有初始化,没有指向确定的对象,此时调试代码会出现指针错?的情况。
所以要对指针进行初始化,在C++中可以这样:
pointer=new Npara;//即令新建的联合体对象赋值给当前指针,
我们知道new 和delete一般是相互依存的,在程序结尾处,可以采用
if(NULL!=pointer)
{
delete pointer;
pointer=NULL;
}
另外如果在构造函数中新建了一个指针对象,在析构函数中要delete掉。
标签:
原文地址:http://www.cnblogs.com/limera/p/union.html