21xrx.com
2025-03-26 13:21:59 Wednesday
文章检索 我的文章 写文章
C++ union 的示例
2023-07-05 05:29:19 深夜i     --     --
C++ union 示例 数据类型 内存共享

C++联合(union)是一种数据类型,它允许在同一存储区域中存储不同类型的变量。使用它可以节省内存空间,并且使代码更加简洁灵活。下面是一个C++ union的示例。

#include<iostream>
using namespace std;
union Employee
  int id;
  float salary;
;
int main()
  Employee e;
  e.id = 101;
  cout<<"Employee id is "<< e.id <<endl;
  e.salary = 10000.5f;
  cout<<"Employee salary is "<< e.salary <<endl;
  return 0;

在这个程序中,我们定义了一个名为Employee的union类型。它包含两个成员变量:id和salary。我们可以将这两个变量存储在同一个内存空间中。在主函数中,我们创建了一个名为e的Employee对象。我们首先给id赋值101,然后输出id变量的值。接着,我们又将salary赋值为10000.5f,然后输出salary变量的值。

这个程序的输出结果如下:

Employee id is 101
Employee salary is 10000.5

可以看到,我们在同一个存储区域中存储了不同类型的变量,而且输出结果也符合预期。

需要注意的是,在使用union时,只能使用其中一个成员变量,否则会发生数据覆盖。在上面的示例中,我们修改了e对象的salary成员变量时,实际上也修改了它的id成员变量的值。因此,我们需要谨慎使用union类型,确保不会发生数据覆盖的情况。

总的来说,C++ union是一种强大的数据类型,它允许将不同类型的变量存储在同一个内存空间中,从而节省空间并使代码更加灵活简洁。如果你有兴趣学习更多关于C++ union的知识,可以继续探索它的更多用法和实践。

  
  

评论区