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掉。