联合类型

联合类型是一种名义上的、异构的类 C 语言联合,由union 项目的名称表示。

联合没有“活动字段”的概念。相反,每次联合访问都会将联合内容的一部分转换为被访问字段的类型。由于转换可能会导致意外或未定义的行为,因此需要使用 unsafe 来读取联合字段。联合字段类型也被限制为类型的子集,以确保它们永远不需要释放。有关详细信息,请参阅项目文档。

默认情况下,union 的内存布局是未定义的(特别是,字段必位于偏移量 0 处),但可以使用 #[repr(...)] 属性来固定布局。