智慧指標看起來可能有些侷限,但它們可以組合出一些非常強大的用法。
Rc<Vec<Foo>> - 讓多個智慧指標可以被複製 (clone),並借用堆上同一個不可變的資料結構的向量。
Rc<Vec<Foo>>
Rc<RefCell<Foo>> - 讓多個智慧指標有能力以可變/不可變的方式借用同一個結構 Foo。
Rc<RefCell<Foo>>
Foo
Arc<Mutex<Foo>> - 讓多個智慧指標有能力以只限單一 CPU 執行緒獨占的方式,鎖定暫時的可變/不可變借用。
Arc<Mutex<Foo>>
記憶體細節: