编程进阶网 编程进阶网
首页
  • 计算机原理
  • 操作系统
  • 网络协议
  • 数据库原理
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 性能优化
  • 编程原理
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 基础认知
  • 线性结构
  • 树与哈希
  • 工业级实现
  • 算法思想
  • 实战与综合
  • 算法题考核
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++开发技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript高级
  • Android库解读
  • Android专栏
  • Android智能硬件
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Linux实践开发
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接

杨充

专注编程 · 终身学习者
首页
  • 计算机原理
  • 操作系统
  • 网络协议
  • 数据库原理
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 性能优化
  • 编程原理
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 基础认知
  • 线性结构
  • 树与哈希
  • 工业级实现
  • 算法思想
  • 实战与综合
  • 算法题考核
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++开发技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript高级
  • Android库解读
  • Android专栏
  • Android智能硬件
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Linux实践开发
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接
  • README
  • C语言入门精通

  • Cpp入门到精通

    • README
      • 目录介绍
      • 01.现状审计与整体定位
        • 1.1 现有内容结构概览
        • 1.2 内容深度评估
        • 1.3 出版整合的核心原则
      • 02.四卷目录划分总览
        • 2.1 四卷主题与卷间关系
        • 2.2 总篇幅与字数预估
        • 2.3 读者学习路径建议
      • 03.第一卷《语法卷:现代 C++ 基础入门》
        • 3.1 章节目录
        • 3.2 内容映射与改造(已完成)
        • 3.3 卷一收尾状态
      • 04.第二卷《工程卷:面向对象与项目实战》
        • 4.1 章节目录
        • 4.2 内容映射与改造
        • 4.3 待补章节清单
      • 05.第三卷《底层卷:原理深挖与源码剖析》
        • 5.1 章节目录
        • 5.2 内容映射与改造
        • 5.3 待补章节清单
      • 06.第四卷《实战卷:调试性能与工程化》
        • 6.1 章节目录
        • 6.2 内容映射与改造
        • 6.3 待补章节清单
      • 07.全书总章建议
        • 7.1 序言与前言
        • 7.2 附录设计
        • 7.3 配套资源
      • 08.书籍大纲与推荐语
        • 8.1 一句话简介
        • 8.2 内容简介(约 300 字)
        • 8.3 编辑推荐(封底文案)
        • 8.4 名家推荐位
      • 09.适合人群
        • 9.1 主目标读者
        • 9.2 次要目标读者
        • 9.3 不适合的读者
      • 10.核心特色
        • 10.1 四卷融通:从语法到工程闭环
        • 10.2 案例驱动:真实工程问题贯穿始终
        • 10.3 现代化:C++11 至 C++23 全覆盖
        • 10.4 工程纪律:可落地的工业级规范
      • 11.出版执行路线图
        • 11.1 三阶段交付计划
        • 11.2 章节质量自检清单
        • 11.3 后续配套规划
      • 结语
    • 入门教程

    • 综合案例

    • 专栏博客

    • 开发技巧

  • Java入门精通

  • Go入门到精通

  • JavaScript入门

  • CodeX
  • Cpp入门到精通
杨充
2025-09-17
目录

README

# 《现代 C++ 由浅入深:从入门到工程精通》出版方案

本文件是基于 08.Cpp入门到精通/ 目录现有 80+ 篇技术文档的出版整合方案。
包含:内容审计 → 四卷目录设计 → 各卷待补章节清单 → 书籍大纲 / 推荐语 / 适合人群 / 核心特色。
出版后中文书名暂定:《现代 C++ 由浅入深:从入门到工程精通》(四卷本)
副书名候选:"语法 · 工程 · 底层 · 实战"四卷融通的 C++ 进阶之路


# 目录介绍

  • 01.现状审计与整体定位
    • 1.1 现有内容结构概览
    • 1.2 内容深度评估
    • 1.3 出版整合的核心原则
  • 02.四卷目录划分总览
    • 2.1 四卷主题与卷间关系
    • 2.2 总篇幅与字数预估
    • 2.3 读者学习路径建议
  • 03.第一卷《语法卷:现代 C++ 基础入门》
    • 3.1 章节目录
    • 3.2 内容映射与改造
    • 3.3 待补章节清单
  • 04.第二卷《工程卷:面向对象与项目实战》
    • 4.1 章节目录
    • 4.2 内容映射与改造
    • 4.3 待补章节清单
  • 05.第三卷《底层卷:原理深挖与源码剖析》
    • 5.1 章节目录
    • 5.2 内容映射与改造
    • 5.3 待补章节清单
  • 06.第四卷《实战卷:调试性能与工程化》
    • 6.1 章节目录
    • 6.2 内容映射与改造
    • 6.3 待补章节清单
  • 07.全书总章建议
    • 7.1 序言与前言
    • 7.2 附录设计
    • 7.3 配套资源
  • 08.书籍大纲与推荐语
    • 8.1 一句话简介
    • 8.2 内容简介(约 300 字)
    • 8.3 编辑推荐(封底文案)
    • 8.4 名家推荐位
  • 09.适合人群
    • 9.1 主目标读者
    • 9.2 次要目标读者
    • 9.3 不适合的读者
  • 10.核心特色
    • 10.1 四卷融通:从语法到工程闭环
    • 10.2 案例驱动:真实工程问题贯穿始终
    • 10.3 现代化:C++11 至 C++23 全覆盖
    • 10.4 工程纪律:可落地的工业级规范
  • 11.出版执行路线图
    • 11.1 三阶段交付计划
    • 11.2 章节质量自检清单
    • 11.3 后续配套规划

# 01.现状审计与整体定位

# 1.1 现有内容结构概览

当前 08.Cpp入门到精通/ 目录共四个一级子目录,合计 80+ 篇技术文档,呈现明显的"语法—案例—原理—技巧"四层结构:

目录 篇数 核心定位 当前完成度
01.入门教程/ 15 篇 语法基础(基础语法、数据类型、类对象、继承多态、STL、IO、异常、线程) 90%
02.综合案例/ 9 篇 项目实战(成绩系统、银行、职工管理、数据库、机房预约、票务、线程池等) 95%
03.专栏博客/ 19 篇 底层原理(内存模型、对象布局、虚函数表、模板元编程、STL 源码、智能指针、移动语义、并发内存序、constexpr、编译链接、崩溃捕获、调试原理) 85%
04.开发技巧/ 8 篇 调试与工程实战(BusError 案例、崩溃捕获原理、调试技巧、GDB/LLDB 实战、Sanitizer、内存泄漏、性能/perf 火焰图、编译链接) 55%

# 1.2 内容深度评估

通读全部章节后,可以得出几个判断:

  1. 深度足够:03 卷的"内存模型 / STL 源码 / 模板元编程 / 编译链接 / 内存序"等章节深度已达国内同类书籍的 80% 水平,有出版价值
  2. 入门完整:01 卷已经覆盖谭浩强 / Primer Plus 类入门书 70% 以上的内容
  3. 案例独特:02 卷的"职工管理系统、机房预约、票务、线程池"是国内 C++ 出版书籍较少见的"完整可运行项目"集
  4. 缺口集中在工程实践:04 卷只有 1 篇,调试 / 性能 / 安全 / 工程化部分需要重点补齐
  5. 现代特性需统一:C++17 / C++20 / C++23 内容散落各处,需要在每卷末尾或附录单独整合

# 1.3 出版整合的核心原则

原则 落地动作
不破坏原文 现有 80+ 篇全部保留,按主题归卷
去重不重写 内存模型、智能指针、STL 等多处出现的话题,主线放一处,他处用引用
逐卷可独立 每卷自成体系,单买单卖均可读
新增聚焦实战 新增内容主要补强第二、四卷的项目案例与工程实践
现代 C++ 优先 全书统一以 C++17 为基线,关键差异点对 C++20 / C++23 单独说明

# 02.四卷目录划分总览

# 2.1 四卷主题与卷间关系

        ┌─────────────────────────────────────────────────┐
        │  卷一《语法卷》          → 语言本身怎么用         │
        │     ↓                                            │
        │  卷二《工程卷》          → 类与项目怎么组织       │
        │     ↓                                            │
        │  卷三《底层卷》          → 编译器和运行时怎么实现 │
        │     ↓                                            │
        │  卷四《实战卷》          → 上线后怎么调与怎么活   │
        └─────────────────────────────────────────────────┘

读者既可以四卷顺序通读,也可以按需跳读:
 · 学生 / 转语言:1 → 2 → 3 → 4
 · 已会 C:直接 1(速查)→ 2 → 4
 · 写过 C++:3 → 4 反向深挖
 · 项目维护者:2 → 4 解决工程问题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 2.2 总篇幅与字数预估

卷 篇数(含新增) 预估字数 预估页数(16 开)
卷一 语法卷 18 25 万 380 页
卷二 工程卷 16 28 万 420 页
卷三 底层卷 22 32 万 480 页
卷四 实战卷 18 25 万 380 页
合计 74 110 万 1660 页

四卷可单卷出版、套装出版、电子版分册购买。

# 2.3 读者学习路径建议

学生 / 零基础   :  卷一全 → 卷二选读案例 → 卷三跳读 → 卷四选读
C → C++ 转语言  :  卷一速读 → 卷二全 → 卷三 → 卷四
Java/Go 转 C++  :  卷一速读 → 卷三对照学 → 卷二项目练 → 卷四
1-3 年 C++ 工程师:  卷三全 → 卷四全 → 卷二查漏 → 卷一速查
3 年以上资深     :  卷三 + 卷四,作为系统性查阅手册
1
2
3
4
5

# 03.第一卷《语法卷:现代 C++ 基础入门》

# 3.1 章节目录

第一篇  开篇与基础语法
  第 1 章  C++ 简史与现代演进                ← 01.Cpp简史.md
  第 2 章  基础语法与第一个程序              ← 02.基础语法.md
  第 3 章  数据类型与字面量                  ← 03.数据类型.md
  第 4 章  运算符与表达式                    ← 04.运算符.md
  第 5 章  复合类型:数组、字符串、结构体    ← 05.复合类型.md
  第 6 章  流程控制语句                      ← 06.流程语句.md

第二篇  函数与对象
  第 7 章  函数:参数、返回值、重载          ← 07.函数.md
  第 8 章  指针与引用                        ← 08.指针引用.md
  第 9 章  类与对象                          ← 09.类和对象.md
  第 10 章 继承与多态                        ← 10.继承多态.md

第三篇  内存与外围库
  第 11 章 内存模型与作用域                  ← 11.内存模型.md
  第 12 章 动态内存与 RAII 入门              ← 12.动态内存.md
  第 13 章 IO 与文件操作                     ← 13.IO和文件.md
  第 14 章 异常处理                          ← 14.异常处理.md

第四篇  并发与现代 C++ 速览
  第 15 章 线程和锁                          ← 15.线程和锁.md
  第 16 章 STL 模板入门                      ← 16.STL模版.md
  第 17 章 预处理器                          ← 17.预处理器.md
  第 18 章 C++11 至 C++23 特性速览图谱       ← 18.特性图谱.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

注:原计划的"开发环境搭建"独立章已删除,环境验证并入第 2 章;完整工程化环境(CMake / VSCode / CI)放到卷二《工程卷》第 13-15 章详细展开。

# 3.2 内容映射与改造(已完成)

当前文件 章号 来源 / 改造动作
01.Cpp简史.md 第 1 章 新增(原 A1):C++98 → C++23 演进时间线
02.基础语法.md 第 2 章 删除环境部分(已并入"环境快速验证"小节),补 auto / nullptr 等现代写法
03.数据类型.md 第 3 章 新增 std::byte / std::optional 类型介绍
04.运算符.md 第 4 章 新增 <=> 三路比较运算符(C++20)
05.复合类型.md 第 5 章 数组小节增加"为什么不该用裸数组"
06.流程语句.md 第 6 章 增加结构化绑定 / if constexpr
07.函数.md 第 7 章 增加 [[nodiscard]] / consteval
08.指针引用.md 第 8 章 引用部分前置智能指针概念
09.类和对象.md 第 9 章 增加"五法则 / 零法则"小节
10.继承多态.md 第 10 章 增加 override / final
11.内存模型.md 第 11 章 新增(原 A3):栈 / 堆 / 静态 / 全局四区,与卷三呼应
12.动态内存.md 第 12 章 显著重构:以 RAII 为主线,裸指针为反例
13.IO和文件.md 第 13 章 补 std::filesystem
14.异常处理.md 第 14 章 补 noexcept / 错误码 vs 异常的取舍
15.线程和锁.md 第 15 章 入门级保留,深度内容挪到卷三《底层卷》
16.STL模版.md 第 16 章 仅做使用层面,源码留给卷三
17.预处理器.md 第 17 章 增加 modules 简介(C++20)
18.特性图谱.md 第 18 章 新增(原 A4):C++11/14/17/20/23 五张特性表与跨卷索引

# 3.3 卷一收尾状态

项目 状态
章节命名(4-6 字) ✅ 已统一
文件序号 ↔ 目录章号 ↔ 锚点 ✅ 完全对齐
A 系列(A1/A3/A4)融入主序列 ✅ 已并入第 1/11/18 章
删除 A2 ✅ 已删除,环境验证并入第 2 章
跨章 / 跨卷引用 ✅ 已按新章号重写

# 04.第二卷《工程卷:面向对象与项目实战》

# 4.1 章节目录

第一篇  面向对象进阶
  第 1 章  类设计的五法则与零法则【新增】
  第 2 章  继承体系的工程化设计【新增】
  第 3 章  组合 vs 继承:工程取舍【新增】

第二篇  项目案例(每个项目独立成章)
  第 4 章  学生成绩管理系统               ← 01.学生成绩系统.md
  第 5 章  银行账户管理系统               ← 02.银行账号管理.md
  第 6 章  职工管理系统                   ← 03.职工管理系统.md
  第 7 章  简易数据库                     ← 04.简易的数据库.md
  第 8 章  演讲比赛系统                   ← 05.演讲比赛系统.md
  第 9 章  机房预约系统                   ← 06.机房预约系统.md
  第 10 章 票务购买系统                   ← 07.票务购买系统.md
  第 11 章 轮训管理系统                   ← 08.轮训管理系统.md
  第 12 章 简易线程池                     ← 09.简易的线程池.md

第三篇  工程化实践(新增)
  第 13 章 项目结构与 CMake 实战【新增】
  第 14 章 依赖管理与第三方库集成【新增】
  第 15 章 单元测试与持续集成【新增】
  第 16 章 一个综合大作业:迷你 KV 存储引擎【新增】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

# 4.2 内容映射与改造

原文件 改造重点
01.学生成绩系统 增加"为什么用 vector 而不用裸数组"、为后续案例做铺垫
02.银行账号管理 补"多账户并发安全"小节
03.职工管理系统 与卷四《BusError 排查》联动,作为前置案例
04.简易数据库 补 RAII / 智能指针 / 文件锁
05.演讲比赛系统 补 STL 算法应用、std::sort + Lambda
06.机房预约 补设计模式(策略 / 状态机)
07.票务购买 补并发场景、与第 11 章线程池联动
08.轮训管理 补观察者模式与事件驱动思想
09.简易线程池 重写为标准 std::thread + condition_variable 现代版

# 4.3 待补章节清单

序号 待补内容 预估字数 优先级
B1 类设计的五法则 / 零法则 8000 ★★★★★
B2 继承体系工程化设计(接口隔离 / Liskov) 7000 ★★★★★
B3 组合 vs 继承:实战取舍 6000 ★★★★
B4 CMake 工程实战(多模块、跨平台、安装) 12000 ★★★★★
B5 依赖管理(vcpkg / Conan / FetchContent) 8000 ★★★★
B6 单元测试(GoogleTest / Catch2)与 CI(GitHub Actions) 10000 ★★★★★
B7 综合大作业:迷你 KV 存储引擎(贯穿 STL / 多线程 / IO / 测试) 25000 ★★★★★
B8 设计模式 C++ 现代实现(单例 / 工厂 / 观察者 / 策略 / 命令) 15000 ★★★★

# 05.第三卷《底层卷:原理深挖与源码剖析》

# 5.1 章节目录

第一篇  内存与对象
  第 1 章  C++ 内存模型与对象内存布局     ← 01.内存模型与布局.md
  第 2 章  引用与指针的底层原理           ← 02.引用与指针原理.md
  第 3 章  类与面向对象的底层机制         ← 03.类与对象机制.md
  第 4 章  构造析构与对象生命周期         ← 04.对象生命周期.md
  第 5 章  继承与多态的底层实现           ← 05.继承与多态.md

第二篇  模板与泛型
  第 6 章  模板元编程与泛型原理           ← 06.模板与泛型.md
  第 7 章  STL 容器设计原理与源码分析     ← 07.STL容器原理.md
  第 8 章  STL 算法与迭代器设计原理       ← 08.STL算法与迭代器.md
  第 9 章  Concepts 与 Ranges 原理【新增】

第三篇  资源与现代特性
  第 10 章 智能指针与资源管理 RAII        ← 09.智能指针与RAII.md
  第 11 章 右值引用与移动语义原理         ← 10.右值与移动语义.md
  第 12 章 Lambda 表达式与函数式编程      ← 11.Lambda与函数式.md

第四篇  错误与类型
  第 13 章 异常处理与错误设计原理         ← 12.异常与错误处理.md
  第 14 章 类型系统与类型推导原理         ← 14.类型系统与推导.md
  第 15 章 RTTI 与 dynamic_cast 实现【新增】

第五篇  并发与编译期
  第 16 章 并发编程与内存序原理           ← 13.并发与内存序.md
  第 17 章 std::thread 与锁的实现【新增,原 13.线程和锁.md 提升版】
  第 18 章 编译期计算与 constexpr 原理    ← 15.编译期计算原理.md
  第 19 章 协程(Coroutine)原理【新增】

第六篇  编译与链接
  第 20 章 C++ 编译链接模型与现代特性演进 ← 16.编译链接与演进.md
  第 21 章 Modules(C++20)原理与实战【新增】
  第 22 章 ABI 与跨平台兼容性【新增】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

# 5.2 内容映射与改造

原文件 改造动作
01.内存模型 补 NUMA / cache line / false sharing
03.类与 OOP 补"空类大小 / EBO 优化"案例
06.模板元编程 补 C++20 Concepts 衔接
07.STL 容器 增加"deque 在不同实现间的差异(GCC/MSVC/libc++)"
08.STL 算法 增加 ranges 视图链
10.右值引用 增加 perfect forwarding 完整推导
13.并发内存序 增加 lock-free 队列实战
15.constexpr 增加 consteval / constinit 区分

# 5.3 待补章节清单

序号 待补内容 预估字数 优先级
C1 Concepts 与 Ranges 原理 12000 ★★★★★
C2 RTTI 与 dynamic_cast 实现细节(vptr 偏移、type_info 链) 8000 ★★★★
C3 std::thread / mutex / condition_variable 的内核实现 12000 ★★★★★
C4 协程(C++20 coroutine_handle / promise_type) 15000 ★★★★★
C5 Modules(BMI / build system 集成) 10000 ★★★★
C6 ABI 与跨平台兼容性(symbol mangling、Itanium ABI、MSVC ABI) 10000 ★★★
C7 现代分配器(pmr / monotonic_buffer_resource) 8000 ★★★

# 06.第四卷《实战卷:调试性能与工程化》

# 6.1 章节目录

第一篇  崩溃与调试
  第 1 章  从一次 Bus error 排查 C++ 崩溃问题  ← 04.开发技巧/01.从一次BusError排查Cpp崩溃问题.md(已完成)
  第 2 章  崩溃流程和捕获原理                  ← 04.开发技巧/崩溃流程和捕获原理.md(已完成)
  第 3 章  调试技巧和原理分析                  ← 04.开发技巧/调试技巧和原理分析.md(已完成)
  第 4 章  GDB / LLDB 实战手册                ← 04.开发技巧/GDB与LLDB调试实战手册.md(已完成)

第二篇  内存与安全
  第 5 章  内存泄漏排查实战                    ← 04.开发技巧/内存泄漏排查实战.md(已完成)
  第 6 章  Sanitizer 全家桶实战               ← 04.开发技巧/Sanitizer全家桶实战.md(已完成)
  第 7 章  Valgrind 深度使用【待补】
  第 8 章  常见安全漏洞与防御(栈溢出 / 整数溢出 / UAF)【待补】

第三篇  性能优化
  第 9 章  性能优化方法论【已融入第 10 章】
  第 10 章 性能优化与 perf 火焰图              ← 04.开发技巧/性能优化与perf火焰图.md(已完成)
  第 11 章 缓存友好编程:从 cache line 到 SIMD【待补】
  第 12 章 编译优化与 PGO / LTO【待补】

第四篇  工程化与编译链接
  第 13 章 C++ 编译和链接原理                  ← 04.开发技巧/Cpp编译和链接原理.md(已完成)
  第 14 章 静态分析工具链(clang-tidy / cppcheck)【待补】
  第 15 章 代码规范与 Code Review 标准【待补】

第五篇  生产环境
  第 16 章 日志、监控与告警体系【待补】
  第 17 章 灰度发布与稳定性保障【待补】
  第 18 章 一次完整的线上故障复盘【待补】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

# 6.2 内容映射与改造

章号 文件名(5-8 字规范) 状态
1 01.BusError排查实录.md ✅ 已完成
2 02.崩溃捕获原理.md ✅ 已完成
3 03.调试技巧与原理.md ✅ 已完成
4 04.GDB与LLDB实战.md ✅ 已完成
5 05.内存泄漏排查.md ✅ 已完成
6 06.Sanitizer实战.md ✅ 已完成
7 07.Valgrind深度.md ✅ 已完成
8 08.安全漏洞图鉴.md ✅ 已完成
10 10.性能优化实战.md ✅ 已完成
11 11.缓存友好编程.md ✅ 已完成
12 12.PGO与LTO优化.md ✅ 已完成
13 13.编译链接原理.md ✅ 已完成
14 14.静态分析工具.md ✅ 已完成
15 15.代码规范评审.md ✅ 已完成
16 16.日志监控告警.md ✅ 已完成
17 17.灰度发布稳定.md ✅ 已完成
18 18.线上故障复盘.md ✅ 已完成

注:原章节目录中的第 9 章(性能优化方法论)已并入第 10 章。所有章节文件名统一为 5-8 字规范,二级/三级标题不超过 9 字。

# 6.3 待补章节清单

序号 待补内容 预估字数 优先级 状态
D1 GDB / LLDB 实战手册(断点、watchpoint、core 分析、远程调试) 15000 ★★★★★ ✅ 已完成
D2 内存泄漏排查实战(多个真实案例) 12000 ★★★★★ ✅ 已完成
D3 Sanitizer 全家桶(ASan / UBSan / TSan / MSan) 12000 ★★★★★ ✅ 已完成
D4 Valgrind 深度使用(memcheck / callgrind / helgrind) 10000 ★★★★ ✅ 已完成
D5 C++ 安全漏洞图鉴与防御 12000 ★★★★ ✅ 已完成
D6 性能优化方法论(先量后改、Amdahl 定律、热点定位) 10000 ★★★★★ ✅ 已融入 D7
D7 perf / Instruments / 火焰图实战 12000 ★★★★★ ✅ 已完成
D8 缓存友好编程(cache line / 数据布局 / SIMD) 10000 ★★★★ ✅ 已完成
D9 PGO / LTO / __attribute__ 编译优化 8000 ★★★ ✅ 已完成
D10 clang-tidy / cppcheck 静态分析工具链 8000 ★★★★ ✅ 已完成
D11 代码规范与 Code Review 标准(基于 Google C++ Style + ISO Core Guidelines) 10000 ★★★★ ✅ 已完成
D12 日志 / 监控 / 告警(spdlog / glog / Prometheus 思想) 10000 ★★★ ✅ 已完成
D13 灰度发布与稳定性保障 8000 ★★★ ✅ 已完成
D14 完整线上故障复盘案例(与卷一第 1 章呼应,形成首尾闭环) 12000 ★★★★★ ✅ 已完成

第四卷《实战卷》已全部完成,共 17 篇章节文件(第 9 章并入第 10 章)。

# 07.全书总章建议

# 7.1 序言与前言

  • 作者序:写一段从写博客到出书的心路历程,说明"为什么不再写一本 Primer"
  • 第三方序:邀请国内 C++ 领域意见领袖(如 C++ 标准委员会成员、知名开源作者)作序
  • 如何阅读本书:明确"四卷怎么读、能解决什么问题、读完能达到什么水平"
  • 配套资源说明:源码仓库、勘误邮箱、读者群

# 7.2 附录设计

附录 内容
附录 A C++ 关键字与运算符速查表
附录 B C++11 / 14 / 17 / 20 / 23 特性对照表
附录 C STL 容器与算法复杂度速查表
附录 D 常见编译错误与解决方案 50 例
附录 E 调试与性能命令速查(GDB / LLDB / perf / valgrind)
附录 F 推荐的工具与开源项目
附录 G C++ 学习路径与进阶书单

# 7.3 配套资源

  • GitHub 配套仓库:所有章节代码 / 案例 / CMake 工程
  • 在线勘误页:实时维护
  • 视频版(可选):每卷配 5-10 段重点讲解视频
  • 读者社群:知识星球 / 微信群答疑

# 08.书籍大纲与推荐语

# 8.1 一句话简介

一本同时适合零基础入门、工程实战、底层深挖、生产排错的现代 C++ "通关式"教程。

# 8.2 内容简介(约 300 字)

C++ 是一门既古老又现代的语言。它既要求你理解每一个字节、每一次内存访问的代价,又要求你能用最少的代码表达最复杂的语义。本书以"四卷融通"的方式,带你完整走过 C++ 从入门到精通的全部路径:

  • **卷一《语法卷》**带你打牢 C++17 / 20 / 23 语法基础,避开新手最容易踩的所有陷阱;
  • **卷二《工程卷》**通过 9 个完整可运行的项目案例 + CMake / 测试 / CI 工程实践,把"会写"升级到"会做项目";
  • **卷三《底层卷》**深挖对象内存布局、虚函数表、模板元编程、STL 源码、移动语义、并发内存序、协程、Modules 等现代 C++ 核心机制;
  • **卷四《实战卷》**用真实的崩溃排查、内存泄漏、性能瓶颈、线上故障复盘,告诉你 C++ 程序员真正的工作日常。

四卷既可分册阅读,又能形成完整闭环。无论你是 0 基础的学生、从其他语言转过来的工程师,还是希望系统化补全工程能力的资深 C++ 开发者,本书都能让你对 C++ "这门语言" 与 "这种工程" 有一次全新的认知升级。

# 8.3 编辑推荐(封底文案)

别再让 C++ 只是"语法考试"——把它变成你的工程武器。

✅ 74 章 110 万字,全栈式覆盖现代 C++ 的语法、工程、底层、实战
✅ 9 个真实项目,从学生系统到迷你 KV 存储引擎,每行代码都能跑
✅ 从 0 到 1 的调试方法论:Bus error、内存泄漏、性能瓶颈、线上故障逐个击破
✅ C++11 → C++23 全跟进:移动语义、Concepts、Ranges、协程、Modules 一篇不落
✅ 可分卷阅读:学生 / 转语言者 / 资深工程师都能找到自己的入口

一本你会反复翻、会推荐给同事、会摆在工位最显眼位置的 C++ 工具书。

# 8.4 名家推荐位

预留 3-5 位推荐人位置(可邀请国内外 C++ 标委 / 知名开源作者 / 大厂 C++ 资深工程师):

"……"  —— 推荐人 A,某 C++ 标准委员会成员
"……"  —— 推荐人 B,某知名开源项目作者
"……"  —— 推荐人 C,某大厂 C++ 基础架构负责人
1
2
3

# 09.适合人群

# 9.1 主目标读者

人群 阅读重点 能解决什么问题
计算机相关专业大学生 / 研究生 卷一全 + 卷二案例 课程实验、毕设、笔试面试
从 C 转 C++ 的嵌入式 / 系统工程师 卷一速读 + 卷三 把"写 C 的方式写 C++"升级为"现代 C++"
从 Java / Go / Python 转 C++ 的工程师 卷一 + 卷三对照 理解 RAII、值语义、零成本抽象
1-3 年 C++ 工程师 卷三 + 卷四 把"用 STL 的人"升级为"懂 STL 的人"
3 年以上 C++ 资深 卷三 + 卷四查漏 系统化补齐底层与工程化短板

# 9.2 次要目标读者

  • 游戏 / 引擎开发者(卷三 + 卷四的性能与底层部分)
  • 高频交易 / 量化领域(卷三的内存序、卷四的性能优化)
  • 嵌入式 / 操作系统开发者(卷三的内存模型 / ABI / Modules)
  • 高校 C++ 课程教师(可作为辅助教材)
  • 技术面试官(卷三 + 卷四作为"什么样的回答算合格"的标尺)

# 9.3 不适合的读者

不适合人群 原因
只想"快速学会一门语言写脚本" 本书并不追求速成,且 Python 更适合
仅做应用开发不接触底层 卷三可能用不到
找面试 100 题刷题集 本书是体系化教程,不是题海

# 10.核心特色

# 10.1 四卷融通:从语法到工程闭环

国内多数 C++ 书要么只讲语法(《C++ Primer》/《C++ Primer Plus》),要么只讲底层(《深度探索 C++ 对象模型》),要么只讲项目(黑马等课程),要么只讲技巧(《Effective C++》)。

本书把这四类内容融为一体,且互相呼应:

  • 卷一第 13 章 RAII 入门 → 卷三第 10 章智能指针原理 → 卷四第 5 章内存泄漏排查
  • 卷二第 6 章职工管理系统 → 卷四第 1 章 BusError 排查同一份代码
  • 卷一第 18 章 C++23 速览 → 卷三第 9/19/21 章对应原理深挖

读者不会觉得"这章怎么没下文了"。

# 10.2 案例驱动:真实工程问题贯穿始终

每卷都有"看得到、能跑起来"的代码:

  • 卷一:每章 3-5 个最小可运行示例
  • 卷二:9 个完整项目 + 1 个综合大作业(迷你 KV 引擎)
  • 卷三:每个底层原理都配 objdump / nm / 汇编验证步骤
  • 卷四:每个故障类型都有真实复盘 + 修复 + 论证三段式

# 10.3 现代化:C++11 至 C++23 全覆盖

标准 重点覆盖
C++11 智能指针、移动语义、Lambda、范围 for、auto、nullptr
C++14 泛型 Lambda、make_unique、变量模板
C++17 结构化绑定、if constexpr、std::optional / variant / string_view / filesystem
C++20 Concepts、Ranges、协程、Modules、<=>、std::format
C++23 std::expected、std::print、deducing this、if consteval

不是"附录式提一句",而是每个特性都讲清楚为什么有、怎么用、什么时候不用。

# 10.4 工程纪律:可落地的工业级规范

不只是"理论上应该这样",而是给出可直接用于团队的:

  • CMake 模板(多模块 / 跨平台 / 单元测试 / 安装)
  • .clang-format / .clang-tidy 配置范例
  • Code Review checklist(基于 Google C++ Style + ISO Core Guidelines)
  • CI / CD 完整 GitHub Actions 流水线
  • 调试 / 性能 / 安全工具组合套餐

# 11.出版执行路线图

# 11.1 三阶段交付计划

┌──────────────────────────────────────────────────────────────┐
│ 阶段 1(2-3 个月):内容补齐                                  │
│   · 完成 4 卷共 28 项待补章节                                 │
│   · 全书统一术语、风格、命名                                  │
│   · 每章末新增"陷阱清单 / 思考题 / 推荐阅读"                  │
├──────────────────────────────────────────────────────────────┤
│ 阶段 2(1-2 个月):技术审校                                  │
│   · 邀请 3-5 名资深 C++ 工程师审稿                            │
│   · 全书代码在 GCC / Clang / MSVC 三套工具链下编译跑通        │
│   · 真实项目案例打包成可一键编译的 GitHub 仓库                │
├──────────────────────────────────────────────────────────────┤
│ 阶段 3(1-2 个月):出版交付                                  │
│   · 文字编辑 / 排版 / 索引                                    │
│   · 封面 / 装帧 / 套装设计                                    │
│   · 出版社流程(书号、纸质 / 电子双版本)                     │
└──────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 11.2 章节质量自检清单

每个章节交付前自查:

  • [ ] 是否有"开篇问题"和"结尾总结"
  • [ ] 是否至少有 1 个完整可运行代码示例
  • [ ] 是否对 C++17/20/23 关键差异点做了说明
  • [ ] 是否有"常见错误 / 新手陷阱"小节
  • [ ] 是否有思考题(3-5 题)
  • [ ] 是否标注了"如果想深入读哪一章"
  • [ ] 是否所有代码在 GCC / Clang 都通过编译并跑过
  • [ ] 是否对 macOS / Linux / Windows 差异做了说明(如适用)

# 11.3 后续配套规划

  • 第二版规划:跟进 C++26(预计 2026 年发布)
  • 专题扩展:可以基于本书衍生《C++ 高性能编程实战》《C++ 游戏引擎从零实现》《C++ 后端架构》等专题册
  • 视频版 / 训练营:与在线教育平台合作,分卷开课
  • 企业培训定制:针对游戏 / 金融 / 嵌入式不同行业定制重点章节

# 结语

一本好的 C++ 书,应该让你读完之后,既能写出更好的 C++ 代码,也能解决你工作中遇到的真实问题。

这套四卷本的目标不是再造一本 Primer,也不是再造一本 Effective C++,
而是把"语法 → 工程 → 底层 → 实战"四件事第一次完整地融在一本书里。

如果它能做到这一点,C++ 在中文世界,就不再是一门"门槛高、劝退多"的语言,
而是每一个工程师都能掌握、并用它解决真实问题的——第一生产力工具。

上次更新: 2026/06/10, 11:13:41
20.wctype.h
README

← 20.wctype.h README→

最近更新
01
信号崩溃快速排查
06-15
02
CoreDump破案
06-15
03
perf火焰图实战
06-15
更多文章>
Theme by Vdoing | Copyright © 2019-2026 杨充 | MIT License | 桂ICP备2024034950号 | 桂公网安备45142202000030
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式