Rust 语言学习手册

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

Rust学习手册《Rc<T> 与 RefCell<T>》:**Rc**(引用计数):允许多个所有者共享数据(只读)。 ```rust use std::rc::Rc; let five = Rc::new(5); let a = Rc::clone(&five); let b = Rc::clon...

智能指针

Rc<T> 与 RefCell<T>

【详细说明 & 代码示例】
**Rc**(引用计数):允许多个所有者共享数据(只读)。 ```rust use std::rc::Rc; let five = Rc::new(5); let a = Rc::clone(&five); let b = Rc::clone(&five); ``` **RefCell**:内部可变性(运行时借用检查),允许在不可变引用下修改数据。 ```rust use std::cell::RefCell; let x = RefCell::new(5); *x.borrow_mut() += 1; ``` **组合使用(`Rc`)**:实现共享可变数据。 ```rust let value = Rc::new(RefCell::new(5)); let a = Rc::clone(&value); let b = Rc::clone(&value); *a.borrow_mut() += 1; // 修改共享数据 ``` **注意:** `RefCell` 在运行时检查借用规则,违反时会 panic(而非编译错误)。 **适用场景:** 图形数据结构(图、树),需要多所有者且可变。 **Arc**:原子引用计数,用于多线程场景(线程安全版的 `Rc`)。

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

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

Rust 基础 (1个知识点)

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

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

生命周期 (1个知识点)

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

使用说明

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