联合类型
联合类型是一种类似于C的、具有名称的异构联合,由union
项的名称表示。
联合体没有“活动字段”的概念。 相反,每次联合体访问都会将联合体内容的部分转换为被访问字段的类型。
由于类型转换可能导致意外或未定义的行为,因此需要使用 unsafe
才能从联合字段读取。
联合字段类型也被限制为类型的子集,以确保它们永远不需要进行 drop 操作。 有关更多详细信息,请参阅项文档。
union
的内存布局默认是未定义的(特别是,字段不必位于偏移量 0 处),但是可以使用 #[repr(...)]
属性来固定布局。