草庐IT

c++ - 什么时候有人会使用 union ?它是C-only时代的残余吗?

我已经学会了,但并没有真正得到union。我阅读的每一篇C或C++文本都介绍了它们(有时是顺便介绍的),但它们往往很少给出使用它们的原因或位置的实际示例。在现代(甚至是传统)案例中,union什么时候有用?我唯一的两个猜测是,当您的工作空间非常有限时,或者当您正在开发API(或类似的东西)并且您想强制最终用户在一度。这两个猜测是否接近正确? 最佳答案 union通常与鉴别器一起使用:一个变量,指示union的哪些字段是有效的。例如,假设您要创建自己的Variant类型:structmy_variant_t{inttype;union