Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

面向 C/C++ 程序员的 Rust 入门课程

版权与署名说明(非官方译本) 本文档为 microsoft/RustTrainingc-cpp-book 的中文翻译与改编版本。 译文主要由 AI 生成,未经过人工校对与修订。 原作版权归 Microsoft Corporation 所有;文档许可为 CC-BY-4.0。 本译本为社区非官方版本,不代表 Microsoft 官方立场。

课程概览

  • 课程概览
    • 选择 Rust 的理由(从 C 和 C++ 两个视角)
    • 本地安装
    • 类型、函数、控制流、模式匹配
    • 模块、Cargo
    • Trait、泛型
    • 集合、错误处理
    • 闭包、内存管理、生命周期、智能指针
    • 并发
    • Unsafe Rust,包括外部函数接口(Foreign Function Interface,FFI)
    • no_std 与面向固件团队的嵌入式 Rust 要点
    • 案例研究:真实世界的 C++ 到 Rust 翻译模式
  • 本课程不涵盖 async Rust——请参阅配套 Async Rust Training,了解 future、执行器、Pin、tokio 及生产级异步模式

自学指南

本材料既可作为讲师授课课程,也适合自学。如果你独自学习,以下建议可帮助你充分利用:

进度建议:

章节主题建议用时检查点
1–4环境搭建、类型、控制流1 天能编写 CLI 温度转换器
5–7数据结构、所有权1–2 天能解释 为什么 let s2 = s1 会使 s1 失效
8–9模块、错误处理1 天能创建多文件项目并用 ? 传播错误
10–12Trait、泛型、闭包1–2 天能编写带 Trait 约束的泛型函数
13–14并发、unsafe/FFI1 天能用 Arc<Mutex<T>> 编写线程安全计数器
15–16深入专题自定进度参考资料——在需要时阅读
17–19最佳实践与参考自定进度编写真实代码时查阅

如何使用练习:

  • 每章都有动手练习,难度标注为:🟢 入门、🟡 中级、🔴 挑战
  • 务必在展开答案前先尝试练习。 与借用检查器较劲是学习的一部分——编译器的错误信息就是你的老师
  • 如果卡住超过 15 分钟,展开答案、研读后关闭,再从头试一次
  • Rust Playground 无需本地安装即可运行代码

遇到瓶颈时:

  • 仔细阅读编译器错误信息——Rust 的错误提示非常出色
  • 重读相关章节;所有权(第 7 章)等概念往往在第二遍才豁然开朗
  • Rust 标准库文档 质量很高——可搜索任意类型或方法
  • 异步模式请参阅配套 Async Rust Training

目录

第一部分 — 基础

1. 引言与动机

2. 快速上手

3. 基本类型与变量

4. 控制流

5. 数据结构与集合

6. 模式匹配与枚举

7. 所有权与内存管理

8. 模块与 Crate

9. 错误处理

10. Trait 与泛型

11. 类型系统高级特性

12. 函数式编程

13. 并发

14. Unsafe Rust 与 FFI

第二部分 — 深入专题

15. no_std — 裸机 Rust

16. 案例研究:真实世界的 C++ 到 Rust 翻译

第三部分 — 最佳实践与参考

17. 最佳实践

18. C++ → Rust 语义深入

19. Rust 宏