BOOK / SOURCE & READING RECORD
Effective C++: 55 Specific Ways to Improve Your Programs and Designs
Scott Meyers
3rd edition, 2005; accessed English ebook identifies second release April 2011, essentially 11th paper printing
Effective C++: 55 Specific Ways to Improve Your Programs and Designs
已逐段读完第三版英文全部技术正文Items1–55(印刷页1–272)及附录A/B(273–279),补读转换遗漏的Item26结尾等段落;另逐图核对PDF177–180、197、202、214–215、219页的作用域、策略与继承图。full指全部技术条目及附录,不把营销页、索引逐项核对计入技术通读;不是只下载、看目录或读样章。
查看版本、实际阅读范围与原文入口 →把构造依赖写进参数,而不是期待下行派发
Item 9 最有用的启发并不是机械禁止一个关键字,而是把对象就绪程度当成接口前提。基类构造阶段不知道尚未构造的派生状态;需要派生策略时,可让调用方或静态辅助函数先计算配置,再以值传给基类。Item 27 对临时基类副本的分析也提示:看似是在改变调用方式,实际可能已经换了对象。审核初始化代码时,应同时追踪调用目标和数据所属对象。到 C++20,这个对象生命周期边界仍然存在,override 只能检查签名,不能让派生状态提早就绪。条目标题属于设计建议,并不意味着所有构造中的普通虚调用都非法。
阅读定位:Item 9, pp.48–52;Item 27, pp.119–120
原文与实际阅读范围
Public English third-edition PDF, private research only
英文第三版Items1–55及附录A/B正文已通读,PDF177–180、197、202、214–215、219图示已直接核对。来源非出版社,未获再分发授权。
研究副本不在本站公开链接。
- Pearson/InformIT third-edition sample pages
Item 9、27、47完整样章;PDF页32–36、37–44、45–51对应上述印刷页范围。
- Scott Meyers official publication list
确认三篇是第三版实际条目,不是同名文章代替全书。
- InformIT third-edition catalog and contents
版次、55条目录及付费电子书入口;目录不计正文。
出版社样章与第三方公开PDF均保留原书版权;公开可访问不代表上传者获授权,不转载、镜像或部署原PDF及提取文字。仅发布原创讲解和来源外链。
能下载不等于已经读完;试读章节不等于全书。这里的原创笔记不是原书全文、译本或逐章替代品。
相关基础知识
- 构造与析构顺序 Construction order
- 静态与动态多态 Polymorphism、切片与 RTTI
- 四种 cast:转换意图与安全前提
- Type traits 与 if constexpr 的编译期分支
相关主题链接用于补充背景,不表示这些既有文章已经按整本书核查。