联合类型

联合类型是一种类似于C的、具有名称的异构联合,由union的名称表示。

联合体没有“活动字段”的概念。 相反,每次联合体访问都会将联合体内容的部分转换为被访问字段的类型。

由于类型转换可能导致意外或未定义的行为,因此需要使用 unsafe 才能从联合字段读取。

联合字段类型也被限制为类型的子集,以确保它们永远不需要进行 drop 操作。 有关更多详细信息,请参阅文档。

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