C++结构体内部可以定义无名union吗
时间: 2023-11-22 15:55:08 浏览: 94
是的,C++ 结构体内部可以定义无名 union。无名 union 可以用来实现联合体成员的匿名访问,这样可以节省内存空间。下面是一个例子:
```c++
struct MyStruct {
int a;
union {
int b;
float c;
};
};
```
在这个例子中,MyStruct 包含了一个 int 类型的成员 a,以及一个无名 union,其中包含了一个 int 类型的成员 b 和一个 float 类型的成员 c。此时可以通过 MyStruct 的对象访问 b 和 c 成员,例如:
```c++
MyStruct s;
s.a = 10;
s.b = 20;
std::cout << s.a << " " << s.b << std::endl; // 输出 "10 20"
```
阅读全文