por*_*ton 1 reference-counting rust
我可以创建Rc
零(强)引用吗?这个怎么做?
我正在做参考文献计数有向图。空的有向图将表示为Rc
具有零引用的变量。
如果不可能,我可以使用Option<Rc>
,但效率低且不方便。
我认为仅凭这一点是不可能的Rc
。
至于Option<Rc>
,它可能有点不方便,但我不会说它效率低(在性能和内存使用方面)。Rust 在优化方面做得非常好Option
。Rc
是一个智能指针,Rust 编译器这样做是为了使Option
智能指针的包装不会使用任何额外的内存。看看这个:
use std::mem::size_of;
use std::rc::Rc;
fn main() {
println!("{}", size_of::<Rc<i32>>()); // Prints "8"
println!("{}", size_of::<Option<Rc<i32>>>()); // Prints "8"
}
Run Code Online (Sandbox Code Playgroud)