代码点读机 / C++ / union

union C++ · 关键字

联合体类型,所有成员共享同一段内存空间;给其中一个成员赋值后,读取其他成员是未定义行为(除非用公共初始序列)。

怎么用

union 名字 { 成员列表 };

小例子

union U { int i; float f; };
U u;
u.i = 1;
std::cout << u.i;

运行结果

1

提醒:联合体大小等于最大成员;C++11 起可以有成员函数、构造函数,但不能有引用成员

官方文档:https://en.cppreference.com/w/cpp/language/union

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← C++全部词条