智能指针看起来可能会存在一些限制,但是我们可以做一些非常有用的结合。
Rc<Vec<Foo>> - 允许克隆多个可以借用堆上不可变数据结构的相同向量的智能指针。
Rc<Vec<Foo>>
Rc<RefCell<Foo>> - 允许多个智能指针可变/不可变地借用相同的结构Foo
Rc<RefCell<Foo>>
Foo
Arc<Mutex<Foo>> - 允许多个智能指针以 CPU 线程独占方式锁定临时可变/不可变借用的能力。
Arc<Mutex<Foo>>
内存细节: