为什么以下代码可以正常工作?
use std::rc::Rc;
fn main () {
let c = vec![1, 2, 3, 4, 5];
let r = Rc::new(c);
println!("{:?}", (**r)[0]);
}
我可以理解单重引用的工作方式(println!("{:?}", (*r)[0]);
)。但是双重引用的工作方式我无法理解。