Skip to content

V0.5.0: TAMCPP规划todo完善完毕;热烈欢迎新的贡献者!;社区体系建设;多个章节的内容勘误修正。

Choose a tag to compare

@Charliechen114514 Charliechen114514 released this 10 Jun 12:08
· 29 commits to main since this release

v0.5.0 (2026-06-10)

社区体系建设:社区来稿系统、结构化 Issue 模板、贡献指南大幅扩展,以及多个章节的内容勘误修正。

TODO 体系大幅度重构

将原先分散的约 30 个 TODO 文件整合为结构化的卷级路线图,统一编号、优先级和分类体系:

  • 000 项目总路线图 — 全局入口,将约 30 个分散旧 TODO 整合为 15 个结构化路线图。统一按 P0–P3 划分优先级,明确跨卷依赖、边界划分与验收标准。所有 C++26 前瞻内容须标注 needs standard-status verification
  • 010 卷一:基础入门 — C 速成到 STL 入门已完整覆盖。近期维护重点:在关键章节末尾添加跨卷前向导航、将教学用的 // TODO: 标记重命名为 // 练习:、清理已被取代的遗留代码文件。原则是不新增主要话题,专注降低读者阅读摩擦
  • 011 卷二:现代 C++ 特性 — 移动语义到 UDL 全部完成,英文翻译 100%。主要缺口:ch00 全部文章缺少参考资料节、RVO 文章缺少 C++17 Guaranteed Copy Elision 章节、部分文章 frontmatter 标注的标准版本不准确。同时计划将 consteval/constinit 迁移至卷四,并为核心文章补充练习题
  • 012 卷三:标准库 — 需要全面重建。将 type-safe register、circular buffer、intrusive containers、ETL 等非标准库内容迁移至卷八,保留 5 篇现有文章。四部分重建计划覆盖数据结构与容器、迭代器与算法、通用设施(字符串/IO/时间/工具/语言支持)、libc++ 源码阅读,目标是从零散主题重建为完整章节体系
  • 013 卷四:高级主题 — 仅 7 篇有实质内容,旧骨架全部废弃重写。三大增量工程:模板编程系列(从基础到前沿,含综合项目)、Modules 深入(原理/接口单元/标准库模块/迁移策略)、Ranges 进阶(概念层次/性能分析/C++23 新特性)。另规划 C++23/26 前沿特性文章按编译器支持度分级推进。协程文章将从博客风格重写为教程风格
  • 014 卷五:并发编程 — P0 最高优先级。文章层面已覆盖 ch00-ch09 全部主题,但代码覆盖缺口严重——ch05 的 async/promise/threadpool 和 ch06 的事件循环、协程 echo server 均缺少配套代码。维护阶段优先补齐代码、建立文章-代码双向映射、搭建 Capstone 工程骨架。增量阶段规划 Hazard Pointer、Epoch-Based Reclamation、Structured Concurrency、Sender/Receiver 等前沿内容
  • 015 卷六:性能优化 — 现有文章极度薄弱,需要从零重建。重建路径:性能工程思维 → 基准测试方法与工具 → 编译器优化深入 → 汇编阅读与 perf/Valgrind → 缓存友好布局与内存对齐 → 分支预测与无分支编程 → SIMD/AVX 实践 → 综合评估。核心设计原则:每篇文章必须回答"如何测量"和"不能得出什么结论"
  • 016 卷七:工程实践 — 从现有 9 篇扩展为完整的工程实践体系。六大章节:CMake 深入(Presets/FetchContent/Unity/ccache/交叉编译)、Catch2 测试体系(参数化/Mock/覆盖率)、代码质量(clang-tidy/Sanitizer/clang-format)、调试(GDB/LLDB/远程调试/rr)、包管理(FetchContent/vcpkg/Conan 对比)、CI/CD 与发布(以本仓库自身工作流为案例)。CMake 最低版本要求 3.28+
  • 017 卷八:领域应用 — 规划 9 个子领域并行发展。嵌入式开发最强,STM32F1 外设链路(SPI/I2C/Timer/ADC/DMA)分五期推进至 RTOS 和综合项目。其他领域包括设计模式、网络编程、C++ 语义分析(值类别/对象模型/UB 深入)、序列化与持久化、GUI/图形、工程算法、系统编程,各领域均设有独立路线图
  • 018 卷九:开源项目学习 — 现有 OnceCallback 完整教学路径。三批次增量路线:近期添加源码阅读方法论导论、Chrome WeakPtr/指针安全主线、spdlog 主线;中期推进 Chrome TaskRunner/线程池主线、moodycamel ConcurrentQueue、fmtlib;远期扩展至 ETL、ankerl::unordered_dense、Asio 等。每个项目遵循 full(完整教学)+ hands_on(设计导向快速路径)双轨模型
  • 019 课程与演讲笔记(卷十) — 已完成 Bjarne Stroustrup "Concept-Based Generic Programming" 和 Matt Godbolt "Some Assembly Required" 两个系列,配套定制 Vue 组件。候选池包括 CppCon 2025/2024 多位演讲者的优质内容,选取标准要求与现代 C++ 工程强相关且具备可运行示例
  • 020 贯穿式实战项目 — 第一期规划三个项目卡片:Mini Concurrent Runtime(依赖卷五)、General CLI Framework(依赖卷八嵌入式)、Mini STL Components(可立即启动,依赖卷三)。第二期候选包括 Mini HTTP Server、Mini GUI Framework、嵌入式 OS、IoT Gateway
  • 030 社区建设 — ✅ done。已建立 Issue 模板体系(内容勘误/内容提案/构建问题/站点问题),CONTRIBUTING.md 中 Issue/Discussion/PR 分工规则就绪,QA 提交流程与 031 已互链。PR 不设固定模板,鼓励自由提交
  • 031 QA 与知识库 — 依赖 030 完成。规划 FAQ 板块覆盖学习路线图、编译链接常见错误、指针/生命周期/并发常见误解、嵌入式 C++ 工程权衡。QA 索引连接 StackOverflow、知乎、WG21 论文、cppreference 和项目 Discussion 精华,建立 Discussion 到文档的流转闭环

后续各卷内容建设将按此路线图有序推进。

社区体系

社区来稿系统(#40

新增 documents/community/ 社区文章区,建立完整的投稿流转路径:

  • 社区来稿初刊 (community/incoming/) — 通过基础检查后即可上线的投稿区
  • 已审阅收录 (community/articles/) — 经讨论、修订和维护者审阅后长期收录的文章
  • 支持投稿 → 初刊 → 审阅收录 → 主线教程的完整流转
  • 投稿者只需提交 Markdown 正文,不必一开始理解完整站点结构

GitHub Issue 模板(#40

新增 4 个结构化 Issue 模板,引导社区反馈:

  • 内容勘误 — 报告错别字、概念错误、术语不准确、代码讲解问题
  • 内容提案 — 建议新增文章、专题、源码阅读笔记、投稿主题
  • 示例代码或构建问题 — 代码编译、CMake 配置、工具链兼容、CI 构建失败
  • 站点问题 — 404、搜索异常、移动端排版、导航问题

新增 config.yml,关闭空白 Issue,引导学习问题到 Discussions。

CONTRIBUTING.md 大幅扩展(#40

  • 新增「自定义 Vue 组件」文档(ChapterNav、ReferenceCard、TalkInfoCard 等组件的用法和 Props 说明)
  • 新增「社区来稿」投稿指南和流转说明
  • 新增「社区协作规则」— Issue / Discussion / PR 分工
  • 新增「QA 与知识库规则」— 外部内容收录规范
  • 新增「质量、翻译与发布」— 翻译维护规则和版本发布规则(patch / minor / major 判定标准)

贡献方向指引(#40

新增 todo/030-community.mdtodo/031-qa-knowledge-base.md,规划社区文章和 QA 知识库的发展方向。

内容修复

  • shared_ptr 章节 — 修正「enabled shared from this」段落的拼写错误(#32@YukunJ
  • variant 章节 — 修正 int 大小说明(主流平台为 4 字节),更新 variant 尺寸分析(#33@YukunJ
  • no_unique_address 章节 — 修正错误的技术描述(#38@YukunJ
  • 代码示例 — 补全代码片段中缺失的一行(#39@YukunJ
  • modern attributes 章节 — 修正内容与翻译同步更新(#37

贡献者

  • 欢迎新贡献者 YukunJ 🎉 — 修复 shared_ptr、variant、no_unique_address 等多个章节的文字与内容错误(#35

基础设施

  • 构建缓存优化 — 更新 scripts/build.ts 缓存逻辑,使 PR 构建检查更可靠高效(#36
  • TODO 体系重构 — 将分散的旧 TODO 文件整合为卷级路线图(000-project-roadmap.md + 010020 卷级规划),删除约 30 个旧文件
  • Frontmatter 校验 — 更新 validate_frontmatter.py 校验规则(#36
  • 站点样式 — 新增 site/.vitepress/theme/custom.css 社区卡片样式(#40

翻译

  • 同步更新英文版文档,覆盖本版本所有中文内容变更(#37