Box、栈和堆

在 Rust 中,所有值默认都是栈分配的。通过创建 Box<T>,可以将值装箱(在堆上分配)。Box 是指向堆分配的 T 类型值的智能指针。当 Box 离开作用域时,会调用其析构函数,内部对象被销毁,堆上的内存被释放。

可以使用 * 运算符解引用装箱的值,这会移除一层间接引用。

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX