如果我定义以下枚举类型,Nil不会增加枚举的大小:
另一方面:
use std::mem::size_of;
enum Foo {
Cons(~char)
}
enum Bar {
Cons(~char),
Nil
}
println!("{}", size_of::<Foo>());
println!("{}", size_of::<Bar>());
// -> 4
// -> 4
另一方面:
enum Foo {
Cons(char)
}
enum Foo {
Cons(char),
Nil
}
产生:
// -> 4
// -> 8
当我定义一个枚举时,会发生什么?这些结构的内存是如何分配的?