Rust 语言学习手册

免费学习 系统级编程 内存安全

Rust学习手册《Box<T> 堆分配》:`Box` 将值分配在堆上,而不是栈上,常用于递归类型或拥有大对象。 ```rust let b = Box::new(5); println!("{}", b); ``` **递归类型(链表):** ```rust enum List...

智能指针

Box<T> 堆分配

【详细说明 & 代码示例】
`Box` 将值分配在堆上,而不是栈上,常用于递归类型或拥有大对象。 ```rust let b = Box::new(5); println!("{}", b); ``` **递归类型(链表):** ```rust enum List { Cons(i32, Box), Nil, } use List::{Cons, Nil}; let list = Cons(1, Box::new(Cons(2, Box::new(Cons(3, Box::new(Nil)))))); ``` **Deref 强制转换:** `Box` 实现了 `Deref`,可自动解引用为 `&T`。 **Drop:** 离开作用域自动调用析构函数。 **适用场景:** - 堆分配大对象 - 递归类型 - 转移所有权时避免大对象拷贝(使用 Box 移动指针) **与其他智能指针区别:** 单所有权,无引用计数。

学习提示:建议安装 Rust 工具链(rustup),使用 cargo 构建项目,并熟悉 rustc 编译器错误信息(Rust 的报错非常详细友好)。

全部章节目录(共 63 个知识点)

Rust 基础 (1个知识点)

所有权系统 (1个知识点)

借用与引用 (1个知识点)

生命周期 (1个知识点)

Cargo 与工具链 (2个知识点)

使用说明

  • • 本手册涵盖 Rust 从基础到并发、异步、Web 开发的完整知识体系
  • • 在搜索框输入关键词,快速定位相关知识点
  • • 点击条目标题进入详情页,查看详细说明与代码示例
  • • 页面按分类展示所有知识点,方便系统性学习
  • • 建议通过 Rust 官方文档(doc.rust-lang.org)加深理解