ANSI C联合 – 它们真的有用吗?

前端之家收集整理的这篇文章主要介绍了ANSI C联合 – 它们真的有用吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
从昨天对某些问题的回答中,我了解到写入一个联盟成员并从另一个不同类型的成员中读取值是不可移植和不安全的,假设成员的基础对齐.所以在经过一些研究之后,我发现了一个重复这个主张的书面来源并指定了一个流行的例子 – 使用int和float的并集来查找float的二进制表示.

因此,我想知道这个假设是不安全的,我想 – 除了节省记忆(呃……)对工会有什么实际用途?

注意:即,在标准C下.显然,对于特定实现,规则是事先已知的并且可以被利用.

编辑:“不安全”这个词,由于近年来的联想,可能是一个不好的措辞选择,但我认为意图明确.

编辑2:由于这一点在答案中重复 – 节省内存是一个有效的参数.我想知道是否还有其他的东西.

解决方法

是.

提供了一种创建通用容器的方法.但是,要获得多态行为,您必须实现vtable或自行切换类型…

但是,有一些功能只在您需要时使用,而且很少需要.

猜你在找的C&C++相关文章