Box<T>
基本用法
fn main() { let x = 5; let boxed_x = Box::new(x); // 将整数 `5` 放在堆上 println!("boxed_x: {}", *boxed_x); // 解引用 }enum List { Node(i32, Box<List>), Nil, } fn main() { let list = List::Node(1, Box::new(List::Node(2, Box::new(List::Nil)))); }trait Draw { fn draw(&self); } struct Circle; impl Draw for Circle { fn draw(&self) { println!("Drawing a circle"); } } fn main() { let shape: Box<dyn Draw> = Box::new(Circle); shape.draw(); }
性能与内存管理
Last updated