Skip to content

第 22 章:智能指针

掌握 Rust 智能指针的类型和用法。

学习目标

完成本章学习后,你将掌握:

  • 理解智能指针的概念
  • 掌握 Box<T> 的堆分配
  • 使用 Rc<T> 实现多重所有权
  • 使用 RefCell<T> 实现内部可变性
  • 理解 Arc<T> 和 Weak<T> 的用途

章节内容

智能指针概述

Box

  • Box - 堆分配、递归类型、trait 对象

Rc

  • Rc - 引用计数、多重所有权、Rc 与 RefCell

RefCell

  • RefCell - 内部可变性、运行时借用检查

Arc 与 Weak

实战总结

预计学习时间

  • 基础学习:2.5 小时
  • 练习巩固:1.5 小时
  • 总计:4 小时

实战项目

本章将实现一个双向链表数据结构。

常见问题

  • Box 和 Rc 如何选择?
  • RefCell 会影响性能吗?

本地实验

本章示例代码位于 examples/ 目录。

bash
cargo run --example 02-box
cargo check --examples