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

  • 相关阅读:
    C#笔记(Hex转JPG)
    rpm 和 yum 软件管理
    名称空间和作用域
    网络技术管理和进程管理
    RAID磁盘阵列
    CentOS7系统启动流程:
    磁盘lvm管理
    面向对象 异常处理
    自定义函数和调用函数 return返回值
    Python常用模块
  • 原文地址:https://www.cnblogs.com/limera/p/union.html
Copyright © 2020-2023  润新知