C++中聯合體(union)的使用


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM