C++ / a working model

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

READING EVIDENCE / 已读完整正文

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

原文与实际阅读范围

出版社样章与第三方公开PDF均保留原书版权;公开可访问不代表上传者获授权,不转载、镜像或部署原PDF及提取文字。仅发布原创讲解和来源外链。

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

相关基础知识

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

← 返回全部书籍