我如何将C/C99规范与C++规范进行比较?

spr*_*aff 4 c c++ standards specifications c99

我需要验证我能以某种方式使用工会.

对于C99,这个答案是足够的:联盟元素对齐

C99 - 第6.7.2.1节结构和联盟说明者(第14段):

指向联合对象的指针(适当转换)指向其每个成员(或者如果成员是位域,则指向它所在的单位),反之亦然.

有人可以帮我找到C++的等效保证吗?

更一般地说,是否有一个很好的资源来查找C++标准的段落/段落引用,这些标准等同于C中的已知功能?

非常感谢.

Cub*_*bbi 6

在C++(14882:2003)中,它分为两段:

9.5 [class.union]/1

每个数据成员都被分配,就好像它是结构的唯一成员一样.

9.2 [class.mem]/17

指向POD结构对象的指针,使用reinterpret_cast进行适当转换,指向其初始成员(或者如果该成员是位字段,则指向它所在的单元),反之亦然.

我没有听说过像这样的C和C++之间的交叉引用,这可能是非平凡的,正如这个例子所示.