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掉。
原文链接: https://www.cnblogs.com/limera/p/union.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/225251
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!