在Rust中,引用永远不能为null,因此如果您实际需要null,例如链接列表,则使用以下Option类型:
struct Element {
value: i32,
next: Option<Box<Element>>,
}
Run Code Online (Sandbox Code Playgroud)
与简单指针相比,在内存分配和解除引用步骤方面涉及多少开销?在编译器/运行时中是否存在一些"魔力",使得使用相同的构造或通过将指针包装在向量中,使用自己在非核心库中Option实现成本,或者成本更低?Optionenum