C++ / a working model

BOOK / SOURCE & READING RECORD

C++ Primer

Stanley B. Lippman; Josée Lajoie; Barbara E. Moo

5th edition,2012年8月首印,版权2013;公开研究副本为1399页网页捕获PDF

READING EVIDENCE / 已读部分正文

C++ Primer

已按连续区间阅读第1—19章全部可提取正文、代码、习题、术语及附录A与索引,不是只读样章。附录A.1图像表已补读PDF1057—1063。研究副本仍有仅以图像存在的表格、图示与代码未逐一恢复,部分代码转录截断;因此不声称原版所有图文完整通读。练习未执行。

查看版本、实际阅读范围与原文入口 →

阅读原创实践:值复制与共享所有权:同样的复制,不同的承诺 →

复制的层次决定对象关系

阅读动态内存之后再看复制控制,会发现两个主题不能分开学。复制 vector 的调用者通常期待独立值;复制 shared_ptr 则只增加同一对象的拥有者,StrBlob 的共享行为正适合让这个差别可见。默认逐成员复制并不总是错误,关键是成员类型是否已经表达了想要的责任。若直接保存容器就能满足需求,增加手写析构反而可能打断默认移动生成。现代综合因此先写出独立、共享或独占的语义,再选成员表示,最后才讨论优化。weak_ptr 是承认对象可能消失的观察关系,lock 是取得使用期间寿命保障的动作,不是一个能替代全部同步的计数检查。

阅读定位:§12.1.1 shared_ptr与StrBlob;§12.1.6 weak_ptr;§13.1.4 Rule of Three/Five;§13.2 Copy Control and Resource Management

原文与实际阅读范围

原书保留全部版权,公开仓库提供访问不等于著作权人授权。本站不转载全书或扫描页,仅发布原创讲解并提供出版社入口。

能下载不等于已经读完;试读章节不等于全书。这里的原创笔记不是原书全文、译本或逐章替代品。

相关基础知识

相关主题链接用于补充背景,不表示这些既有文章已经按整本书核查。

← 返回全部书籍