mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2026-08-22 14:13:28 +08:00
Update Ch15
This commit is contained in:
@@ -15,15 +15,37 @@ fn main() {
|
||||
children: RefCell::new(vec! []),
|
||||
});
|
||||
|
||||
println! ("叶子节点的父节点 = {:?}", leaf.parent.borrow().upgrade());
|
||||
println! (
|
||||
"叶子节点的强引用计数:{},弱引用计数:{}\n",
|
||||
Rc::strong_count(&leaf),
|
||||
Rc::weak_count(&leaf),
|
||||
);
|
||||
|
||||
let branch = Rc::new(Node {
|
||||
value: 5,
|
||||
parent: RefCell::new(Weak::new()),
|
||||
children: RefCell::new(vec! [Rc::clone(&leaf)]),
|
||||
});
|
||||
{
|
||||
let branch = Rc::new(Node {
|
||||
value: 5,
|
||||
parent: RefCell::new(Weak::new()),
|
||||
children: RefCell::new(vec! [Rc::clone(&leaf)]),
|
||||
});
|
||||
|
||||
*leaf.parent.borrow_mut() = Rc::downgrade(&branch);
|
||||
*leaf.parent.borrow_mut() = Rc::downgrade(&branch);
|
||||
|
||||
println! ("叶子节点的父节点 = {:?}", leaf.parent.borrow().upgrade());
|
||||
println! (
|
||||
"枝干节点的强引用计数:{},弱引用计数:{}\n",
|
||||
Rc::strong_count(&branch),
|
||||
Rc::weak_count(&branch),
|
||||
);
|
||||
println! (
|
||||
"叶子节点的强引用计数:{},弱引用计数:{}\n",
|
||||
Rc::strong_count(&leaf),
|
||||
Rc::weak_count(&leaf),
|
||||
);
|
||||
|
||||
}
|
||||
println! ("叶子节点的父节点 = {:?}\n", leaf.parent.borrow().upgrade());
|
||||
println! (
|
||||
"叶子节点的强引用计数:{},弱引用计数:{}\n",
|
||||
Rc::strong_count(&leaf),
|
||||
Rc::weak_count(&leaf),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user