具有零参考的 Rc

por*_*ton 1 reference-counting rust

我可以创建Rc零(强)引用吗?这个怎么做?

我正在做参考文献计数有向图。空的有向图将表示为Rc具有零引用的变量。

如果不可能,我可以使用Option<Rc>,但效率低且不方便。

at5*_*321 6

我认为仅凭这一点是不可能的Rc

至于Option<Rc>,它可能有点不方便,但我不会说它效率低(在性能和内存使用方面)。Rust 在优化方面做得非常好OptionRc是一个智能指针,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)