BOOK / SOURCE & READING RECORD
Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions
Herb Sutter
1st edition, published August 2004, copyright 2005
Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions
完整读完出版社40页样章,即Items34–36(印刷页246–285):Index Tables、Generic Callbacks、Construction Unions。已核对40条目录。Items1–33及37–40未读;公开样章不是全书,GotW63–86原始文章也未冒充这些书本条目。
查看版本、实际阅读范围与原文入口 →阅读原创实践:排序轻量索引:保留原数据顺序,也写清失效规则 →
索引视图减少搬运,也引入一致性责任
Item 34 的索引表案例说明,清晰与效率并不天然冲突。若用户只需要一种新的阅读顺序,不一定要挪动大对象或复制整批记录;单独排序轻量索引就能保留原始数据布局。但这不是免费抽象:源容器擦除或重排后,索引可能指向不同记录;只修改排序字段,也会使旧索引不再有序。设计时应明确索引的有效期及重建时机。Item 35 对不必要类型限制的批评,同样适用于不要为了通用性引入用不到的框架;Item 36 的对齐和生命周期检查在现代仍重要,但关于union成员限制的历史规则不能替代C++20规则,常见变体值应优先使用标准variant。
阅读定位:Item34 pp.246–257;Item35 pp.258–266;Item36 pp.267–285
原文与实际阅读范围
- Exceptional C++ Style publisher sample, Items 34–36
全部40页;印刷页246–285,三个完整条目。
- Herb Sutter Exceptional C++ Style book page
40条目录,以及书本对GotW63–86修订扩充的说明。
- InformIT Exceptional C++ Style catalog
第一版出版与版权年份,样章链接,完整目录。
作者允许附出处使用或改编代码,但不允许未经授权转载整篇或大段正文;这里仍采用独立原创示例并只外链原书样章。
能下载不等于已经读完;试读章节不等于全书。这里的原创笔记不是原书全文、译本或逐章替代品。
相关基础知识
相关主题链接用于补充背景,不表示这些既有文章已经按整本书核查。