N2479 C17..C2x 工作草案 — 2020 年 2 月 5 日 ISO/IEC 9899:202x (E)(已添加重点):
6.7.2.1 结构和联合说明符
17 在结构对象中,非位域成员和位域所在的单元的地址按声明顺序递增。一个指向结构对象的指针,经过适当的转换,指向它的初始成员(或者如果该成员是位域,则指向它所在的单元),反之亦然。结构对象中可能有未命名的填充,但不是在其开头。
18 工会的规模足以容纳其最大的成员。任何时候最多可以将其中一个成员的值存储在联合对象中。一个指向联合对象的指针,经过适当的转换,指向它的每个成员(或者如果一个成员是一个位域,那么指向它所在的单元),反之亦然。
问题: 的确切定义是suitably converted
什么?
额外:如果没有确切的定义suitably converted
,那么 C 实现应该记录它的理解吗?例如(C/C++ 预处理器域),微软将术语single item
(C++,N4713)理解为single, permanently indivisible preprocessor token
(这会导致从 gcc/clang/other 移植代码时出现问题,这有不同的理解),但是,他们似乎没有记录他们对single item
.