智能指针
fn main() { let num = Box::new(100); // 存放在堆上}fn main() { let name = Box::new(String::from("Tom")); let name2 = *name; // Value moved here println!("name2: {}!", name2); // println!("name: {}", name); // 会报错,name丢失所有权}RefCell
Section titled “RefCell”fn main() { // name不可变 let name = RefCell::new(String::from("Tom"));
// 这里在修改name name.borrow_mut().push_str("666");
println!("name: {}", name.borrow()); // name: Tom666}