【发布时间】:2017-03-14 21:40:21
【问题描述】:
以下是有效的 Rust:
enum Foo {
One(i32, i32, i32),
Two { x: i32, y: i32 },
}
fn main() {
let x: [Foo; 2] = [Foo::One(1, 2, 3), Foo::Two { x: 1, y: 2 }];
}
Rust 如何存储它?第一个元素是 12 个字节,而第二个是 8 个(我猜在开头加上一个标签字节)。它只存储对数组中元素的引用吗?
【问题讨论】:
-
与其他任何地方存储枚举值的方式相同,FWIW。