当我刚读完 Effective C++ 后,是不打算读这本 More 的,理由很简单,就是想先实践 C++(先贯彻一些 Effective C++ 中的优秀指导),然后从实践中反馈和总结。
后来,闲暇时零星地读了一些 More 的章节,感觉如获至宝,就有粗有细地读了下来。
我的感觉是 Effective 多从反面讲 C++ 中的戒律,而 More 更加具有建设性,告诉你该如何构造之。
构造什么?More 的 Part: Techiques, Idioms, Patterns 是最让我心潮澎湃的一章。我觉得 SP、RC、proxy 等这些高级巧械的构造是 More 的看点。
More 的另一个看点是 Part: Efficiency,这是 C++ programmer 的直觉所在:C++ 的特性和代价必须平衡考量,我以为其中 Item 19 临时对象的来源,这节最有价值(因为临时对象的隐蔽性很强)。
Item 4、Item 8 对 new/delete 的说明算是对 Effective 中 Part: new/delete 的补充,着重点放在 placement new 上。
有意思的是 More 只有一版,而 Effective 已出三版(我只精读过第三版,读后确实有相见恨晚的感觉,也感叹作者的总结归纳能力)。
More 很好,但也并非要全盘逐字揣摩(一家之言),我就略读和忽略了开始的几个 Item(我觉得有些简单),还有异常 (Exceptions) 章节部分(我是 Google C++ Style Guide 的提倡者,对于异常的使用持保守和批评态度)。