《Exceptional C++》前言 这是一本非凡的书,不过直至快要读完全书我才意识到它是多么不平凡。这可能是第一本写给已经熟悉C++——熟悉C++的一切——的人看的书。从语言特性到标准库组件再到编程技术,本书从一个主题跳到另一个主题,总是使你处于些微失衡的状态,总是确保你专心致志。就像现实C++程序一样,类设计撞上虚函数的行为,迭代器协定碰到名字查找规则,赋值操作符擦上异常安全,编译依赖遭遇导出模板(exported templates)。就像在现实程序中的一样,语言特性、库组件和编程技术形成的混乱的大漩涡,精彩而令人眩晕 。 我将GotW(guru of the week)发音为“Gotcha(got you,抓到你了)”可能并无不妥。当我将自己针对书中测验给出的解决方案与Sutter的答案进行比较时,我往往会落入他(和C++)设置的陷阱中,次数之多,使我羞于承认。每当我犯错时,我几乎能看到Herb面带微笑轻声说道:“Gotcha!”也许有人争论这证明我对C++知之甚少,另有人可能宣称这说明C++太复杂,以至于任何人都很难精通它。我则认为这表明当使用C++进行工作时,你必须小心谨慎地思考你正在做的事情。C++是一门威力极大的语言,它被设计用于解决需求苛刻的问题,尽可能细致地磨练你在语言、库和编程惯用法方面的知识,至关重要。本书讨论主题范围之广,内容安排之独特(采用了基于测验的格式),对你的磨练过程将会助 上一臂之力。 C++新闻组的老读者都知道选出“Guru of the Week”有多么困难,那些有经验的参与者对此更是深有体会。尽管在网上每周只能产生一个guru,然而有了本书提供的知识撑腰,每当编程时你都可冀望产出有着guru质量的代码。 Scott Meyers 荣耀 译 |