UNIT 25 / 78 · U25
独占所有权、转交与观察
本单元预计 4.5 核心小时。可以分成多个学习时段,按完整小节推进;停下来时留下输入、命令、结果和下一步。
时间包含阅读、编码与检查,是学习预算而非期限。打开此页只保存阅读位置,不代表通过验收。
先知道自己在观察什么
13.3 unique_ptr与make_unique →
读完本小节全部正文与本节任务;先写状态/路径预测,再按该节的运行边界核对,不能只看标题或答案。
13.4 转交与观察 →
读完本小节全部正文与本节任务;先写状态/路径预测,再按该节的运行边界核对,不能只看标题或答案。
13.5 接口选择与检查 →
读完本小节全部正文与本节任务;先写状态/路径预测,再按该节的运行边界核对,不能只看标题或答案。
先备不清楚时,沿章节入口补读;不要依赖翻过页数判断进度。
本单元另列的补授
以下时间加在原单元预算之外;完成对应读法后再进入依赖它的任务。
- 派生对象拥有者认读 → · 10min · 可选认读
先留下自己的预测或独立尝试
先在笔记预测转交前后的拥有者、空状态和借用指向;再打开本节的transfer-borrow.cpp,按该节命令在自己的副本运行,保存预测、命令、实际结果与差异。
完整例二:转交拥有权,保留有效借用 →源码下载与编译入口
下载到自己的练习目录。按本节给出的完整命令编译;多文件与driver要求见原任务。需要时查阅文件保存与编译操作 →
transfer-borrow.cpp先保存预测,再核对正文标明的预期或诊断。完整构建、多文件与设备实验按原任务命令执行。
通过一个变动看清原因
按13.4比较reset与release的已给对照,不额外delete借用;只在自己的副本修改,先保留独立预测。
修改后应观察到什么
按所链接小节的合同逐项比较修改前后结果;意外编译成功/失败、未执行检查或不满足的边界均不能记作通过。
换一组条件,独立解决
完成13.5接管接口的独立迁移,检查空拥有者、值0和一般值;关闭完整答案后重新完成。
用这些条件检查自己的实现
- 留下自己的源码或纸面状态表、输入与独立期望;非法访问题不靠运行猜答案。
- 按指定小节核对正常与边界/拒绝路径;保留失败与修复记录,不用教材检查收据替代本人完成。
用证据决定是否进入下一单元
- 不看代码,说明转交前后的拥有者、空状态和借用指向。
- 指出本单元一次失败的最早原因,并解释检查能够和不能够证明什么。
本单元的验收依据
本单元所列完整小节、独立任务和两条复述均有本人证据;阅读位置、展开答案与教材示例运行不自动通过。
留下自己的代码或推演、测试输入、真实输出和仍不确定的问题。未达到要求时,下一次继续本单元。