Ale*_* D. 8 c++ variables comparison members unions
工会是否有控制结构来测试当前正在使用哪个成员(或者它是否有任何成员)?我问这个是因为未定义的行为在你的程序中永远不是一件好事.
Luc*_*ore 12
不,没有现成的这种机制.你必须自己照顾好自己.通常的方法是包裹union
在struct
:
struct MyUnion
{
int whichMember;
union {
//whatever
} actualUnion;
};
Run Code Online (Sandbox Code Playgroud)
所以你有MyUnion x;
并且x.whichMember
告诉你哪个领域x.actualUnion
正在使用(你必须实现这个功能).