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系统接口桥与后续章节。