如果我们只有一个成员,那么结构和工会之间有什么区别吗

Is there any difference between structure and union if we have only one member?

本文关键字:之间 什么 区别 结构 有一个 我们 成员 如果      更新时间:2023-10-16

我想知道一个成员数据类型的结构和并集之间的区别(如果有的话)。

在C中:无。著名的"节省空间的笑话"#define struct union几乎不是一个笑话。

在C++98中:联合只能有POD成员,非联合类可以有任意成员。

在C++11中:联合可以具有对象类型的任意数据成员(但不能具有引用类型),但它们的使用比非联合类的使用更受限制。(也就是说:联合不能有虚拟成员函数,不能是基类,也不能有基类。)此外,与单成员非联合类相比,你必须编写更多的代码才能使单成员联合工作,因为你必须自己编写构造函数和析构函数。