Box、栈和堆
在 Rust 中,所有值默认都是在栈上分配的。可以通过创建 Box<T>
来装箱(在堆上分配)值。一个 Box 是一个指向类型为 T
的堆分配值的智能指针。当一个 Box 超出作用域时,它的析构函数会被调用,内部对象会被销毁,并且堆上的内存会被释放。
可以使用 *
运算符来解引用 Box 值;这会移除一层间接寻址。
在 Rust 中,所有值默认都是在栈上分配的。可以通过创建 Box<T>
来装箱(在堆上分配)值。一个 Box 是一个指向类型为 T
的堆分配值的智能指针。当一个 Box 超出作用域时,它的析构函数会被调用,内部对象会被销毁,并且堆上的内存会被释放。
可以使用 *
运算符来解引用 Box 值;这会移除一层间接寻址。