FOUNDATIONS / 按概念的先后学习

从顺序程序出发,
一步接着一步。

基础课从顺序程序开始,再进入类型、控制流、函数、引用和指针。目前01–18可阅读;先完成01–09与M1,再依次学习第10、11、12、13、14、15、16、17、18章。每章先预测、再运行,完成独立练习后继续。

01 / 第一份程序

保存、编译与顺序执行

亲手看见源码和程序是两份文件;再用两个整数说明“用a初始化b”为什么不是一直跟随a。含逐步图解、完整例子、练习、报错排查和英文复述。

预计5小时,包含阅读和编码;这是待试学校准的估计。可以分几次完成,按实际时段记录。

开始第01章 →

02 / 类型与表达式

先运算,再保存

六节依次学习类型、运算分组、整数除法、初始化、转换、const与auto,再看有限表示的边界。含11份同源程序、两张逐步图和独立迁移练习。

预计6小时,包含动手,尚未经过真人试学校准。

进入第02章 →

03 / 控制流

选择与重复

六节依次跟踪条件、分支、while、普通for、跳转和其他控制形式。用累计求和与偶数计数连接14份同源程序、两图和四步练习。

预计10小时,包含阅读、推演与动手,尚未经过真人试学校准。

进入第03章 →

04 / 普通函数

参数、调用与返回

分开追踪调用者、形参副本和返回结果,再练习void、声明、默认实参、普通重载与输入合同。14份同源程序、两张逐步图和四步阶梯连接求和与计偶数。

预计8小时,包含阅读、推演与动手,尚未经过真人试学校准。

进入第04章 →

05 / 引用与const

副本和同一个对象

五节从引用赋值、参数方向走到只读访问、auto引用与借用有效期。14份同源程序、两图和四步阶梯,让对象关系与编译诊断可逐步核对。

预计7小时,包含阅读、推演与动手,尚未经过真人试学校准。

进入第05章 →

06 / 指针

地址、空值与有效访问

五节分开追踪指针对象和所指整数,再练习判空、const位置与借用寿命。14份同源程序与分步图连接预测、找错和独立选择对象的练习。

预计7小时,包含阅读、推演与动手,尚未经过真人试学校准。

进入第06章 →

07 / 类与对象生命周期

状态、接口与销毁顺序

六节从标量成员走到构造、不变量、析构与命名状态。17份同源程序与两张分步图连接计数对象和Trace;末节继承与多态只认读,不进练习或章验收。

预计8小时,包含阅读、推演与动手,尚未经过真人试学校准。

进入第07章 →

08 / 拥有一组数据

长度、容量与数值边界

五节学习库类型实参、array、vector和string,再用普通下标循环完成unsigned溢出前检查。16份同源程序与两图把复制、预留空间和实际元素分别展示。

预计13小时,包含阅读、推演与动手,尚未经过真人试学校准。

进入第08章 →

09 / 遍历与借用

范围、视图与失效

四节连接指针区间、迭代器、三种范围for、span和string_view;16份同源程序与三图分清副本、借用和重新取得位置。完成后进入独立M1。

预计9小时,含阅读推演与编码;另有90分钟M1,均为未经真人校准的估算。

进入第09章 →

M1 / 第09章后的独立检查

先独立组合,再开始算法

用90分钟完成预测、本人程序、找错与口述。保存首次材料后再评分;通过M1后进入第10章,阅读答案不会自动记录通过。

完成09后:开始M1 →

10 / 算法与lambda

表达处理意图

五节从范围合同与操作次数走到标准算法、命名谓词、lambda捕获和删除组合。先完成第09章与M1,再根据具体输入推演并写出独立实现。

预计9小时,包含阅读、推演与编码,尚未经过真人校准。

M1通过后:进入第10章 →

11 / 关联容器与适配器

查找、唯一性与访问顺序

五节从pair与结构化绑定走到map/set、unordered容器和插入结果,再用deque、queue与stack分清访问顺序。先完成第10章,再根据具体任务选择接口并核对重复键。

预计9小时,包含阅读、推演与编码,尚未经过真人校准。

进入第11章 →

12 / 复制与移动

值怎样传递

四节从值类别走到复制与移动操作,再解释源对象、返回值和Rule of Zero。先完成第11章,分清构造、赋值和std::move,按具体类型的合同检查对象状态。

预计7小时,包含阅读、推演与编码,尚未经过真人校准。

进入第12章 →

13 / 真实资源与RAII

独占拥有与释放责任

五节从new/delete走到RAII、unique_ptr和独占转交,再分清借用观察与接口责任。先完成第12章,沿正常结束和提前返回路径检查真实对象由谁释放。

预计8小时,包含阅读、推演与编码,尚未经过真人校准。

进入第13章 →

14 / 共享拥有与回调寿命

拥有者、观察者与调用目标

四节从shared_ptr走到weak_ptr与拥有环,再用移动捕获和std::function检查回调的状态与调用条件。先完成第13章,分清共享拥有与只观察已有对象。

预计6小时,包含阅读、推演与编码,尚未经过真人校准。

进入第14章 →

15 / 定义模板与concepts

列出类型必须支持的操作

五节从函数模板走到类模板、编译期条件、concepts与requires,再看泛型调用和定义可见性。先完成第14章,用具体实参解释推导、约束与编译诊断。

预计9小时,包含阅读、推演与编码,尚未经过真人校准。

进入第15章 →

16 / 错误处理与输入解析

合法零、缺失与失败

六节从结果合同与optional走到实际输入、严格解析和异常处理,再沿RAII清理与noexcept回访移动。先完成第15章,按实际输入与每条控制路径核对结果。

预计10小时,包含阅读、推演与编码,尚未经过真人校准。

进入第16章 →

17 / 多文件编译、链接与构建

从文件到可运行程序

四节从编译各阶段走到真实头文件、包含、声明与定义,再定位链接缺口,用最小CMake项目记录构建关系。先完成第16章,按实际目录和命令复现结果。

预计6小时,包含阅读、推演与动手,尚未经过真人校准。

进入第17章 →

18 / 测试与调试

独立定位失败

四节从独立期望与边界输入走到调试器、始终有效的检查,再追踪测试登记与实际执行。先完成第17章,保存本人发现偏差、定位原因与验证修复的过程。

本章预计5.5小时;完整G0另计10小时,均为未经真人校准的估算。教材运行或阅读完成不自动通过G0。

进入第18章 →

完成基础后怎样继续

18章基础、M1与完整G0共154核心小时、35个完整学习单元。预算是估算;学习中遇到的问题可记录下来,用于后续修订。完整G0另计10小时,通过后进入SYS-00系统接口桥与后续章节。