More Effective C++(中文版)

出版时间:2011-1  出版社:电子工业出版社  作者:梅耶  页数:317  译者:侯捷  
Tag标签:无  

前言

  C++ 是一门难学易用的语言!  C++ 的难学,不仅在其广博的语法、语法背后的语义、语义背后的深层思维、深层思维背后的对象模型;C++ 的难学,还在于它提供了4种不同(相辅相成)的编程思维模型:procedural-based,object-based,object-oriented,generic paradigm。  世上没有白吃的午餐。又要有效率,又要有弹性,又要前瞻望远,又要回溯相容,又要能治大国,又要能烹小鲜,学习起来当然就不可能太简单。  在如此庞大复杂的机制下,万千使用者前赴后继的动力是:一旦学成,妙用无穷。  C++ 相关书籍之多,车载斗量,如天上繁星,如过江之鲫。广博如四库全书者有之(The C++ Programming Language、C++ Primer),深奥如重山复水者有之(The Annotated C++ Reference Manual, Inside the C++ Object Model),细说历史者有之(The Design and Evolution of C++, Ruminations on C++),独沽一味者有之(Polymorphism in C++, Genericity in C++),独树一帜者有之(Design Patterns, Large Scale C++ Software Design, C++ FAQs),程序库大全有之(The C++ Standard Library),另辟蹊径者有之(Generic Programming and the STL),工程经验之累积亦有之(Effective C++, More Effective C++, Exceptional C++)。  这其中,“工程经验之累积”对已具 C++ 相当基础的程序员而言,有着致命的吸引力与立竿见影的帮助。Scott Meyers 的Effective C++ 和 More Effective C++ 是此类佼佼,Herb Sutter 的 Exceptional C++ 则是后起之秀。  这类书籍的一个共同特色是轻薄短小,并且高密度地纳入作者浸淫于 C++/OOP 领域多年而广泛的经验。它们不但开扩读者的视野,也为读者提供各种 C++/OOP 常见问题或易犯错误的解决模型。某些小范围主题诸如“在base classes 中使用 virtual destructor”、“令operator= 传回 *this 的 reference”,可能在百科型 C++ 语言书籍中亦曾概略提过,但此类书籍以深度探索的方式,让我们了解问题背后的成因、最佳的解法,以及其他可能的牵扯。至于大范围主题,例如smart pointers,reference counting,proxy classes,double dispatching,基本上已属design patterns的层级!  这些都是经验的累积和心血的结晶!  我很高兴将以下两本优秀书籍,规划为一个系列,以郑重的形式呈现给您:  1.Effective C++ 2/e, by Scott Meyers, AW 1998  2.More Effective C++, by Scott Meyers, AW 1996  本书不但与英文版页页对译,保留索引,并加上译注、交叉索引 、读者服务 。  这套书将对于您的程序设计生涯带来重大帮助。翻译这套书籍的过程中,我感觉来自技术体会上的极大快乐。我祈盼(并相信)您在阅读此书时拥有同样的心情。

内容概要

较少,页数倒是多了一些,原因是这次选材比“第一集”更高阶,尤其是第5章。Meyers将此章命名为技术(techniques),并明白告诉你,其中都是一些patterns,例如virtual constructors,smart pointers,reference counting,proxy classes,double dispatching……这一章的每个条款篇幅都达15~30 页之多,实在让人有“山重水复疑无路,柳暗花明又一村”之叹。  虽然出版年代稍嫌久远,但本书并没有第2版,原因是当其出版之时(1996),C++ Standard已经几乎定案,本书即依当时的标准草案而写,其与现今的C++ 标准规范几乎相同。而且可能变化的几个弹性之处,Meyers也都有所说明与提示。读者可以登录作者提供的网址,看看上下两集的勘误与讨论(数量之多,令人惊恐。幸好多是技术讨论或文字斟酌,并没有什么重大误失)。

作者简介

作者:(美国)梅耶(Scott Meyers) 译者:侯捷Scott Meyers,世界顶级的C++软件开发技术权威之一。他是两本畅销书Effective C++和More Effective C++的作者,以前曾经是C++ Report的专栏作家。他经常为C/C++ Users Journal和Dr. Dobb's Journal撰稿,也为全球范围内的客户做咨询活动。他也是Advisory Boards for NumeriX LLC和InfoCruiser公司的成员。他拥有Brown University的计算机科学博士学位。侯捷,集计算机技术读物之著、泽、评于一身,足《多态与虚拟》和《STL源码剖析》的作者,《Run!Pc》杂志、《程序员》杂志的知名专栏作家,也是极其号召力的大学教师与研讨会讲师。他于1989年获得中国台湾清华大学动机系硕士学位。

书籍目录

译序(侯捷)导读(Introduction)基础议题(Basics) 条款1:仔细区别 pointers 和 references Distinguish between pointers and references. 条款2:最好使用 C++ 转型操作符 Prefer C++-style casts. 条款3:绝对不要以多态(polymorphically)方式处理数组 Never treat arrays polymorphically. 条款4:非必要不提供 default constructor	 Avoid gratuitous default constructors.操作符(Operators)									 条款5:对定制的“类型转换函数”保持警觉 Be wary of user-defined conversion functions. 条款6:区别 increment/decrement 操作符的 前置(prefix)和后置(postfix)形式 Distinguish between prefix and postfix forms of increment  and decrement operators. 条款7:千万不要重载&&,||和, 操作符 Never overload &&, ||, or ,. 条款8:了解各种不同意义的 new 和 delete	 Understand the different meanings of new and delete 异常(Exceptions) 条款9:利用 destructors 避免泄漏资源 Use destructors to prevent resource leaks. 条款10:在 constructors 内阻止资源泄漏(resource leak)	 Prevent resource leaks in constructors. 条款11:禁止异常(exceptions)流出 destructors 之外 Prevent exceptions from leaving destructors. 条款12:了解“抛出一个 exception”与“传递一个参数” 或“调用一个虚函数”之间的差异61 Understand how throwing an exception differs from  passing a parameter or calling a virtual function. 条款13:以 by reference 方式捕捉 exceptions Catch exceptions by reference. 条款14:明智运用 exception specifications Use exception specifications judiciously. 条款15:了解异常处理(exception handling)的成本 Understand the costs of exception handling.效率(Efficiency) 条款16:谨记 80-20 法则 Remember the 80-20 rule. 条款17:考虑使用 lazy evaluation(缓式评估) Consider using lazy evaluation. 条款18:分期摊还预期的计算成本 Amortize the cost of expected computations. 条款19:了解临时对象的来源 Understand the origin of temporary objects. 条款20:协助完成“返回值优化(RVO)” Facilitate the return value optimization. 条款21:利用重载技术(overload)避免隐式类型转换(implict type conversions) Overload to avoid implicit type conversions. 条款22:考虑以操作符复合形式(op=)取代其独身形式(op) Consider using op= instead of stand-alone op. 条款23:考虑使用其他程序库 Consider alternative libraries. 条款24:了解 virtual functions、multiple inheritance、virtual base classes、 runtime type identification 的成本 Understand the costs of virtual functions, multiple inheritance,  virtual base classes, and RTTI.技术(Techniques, Idioms, Patterns)杂项讨论(Miscellany)索引(一)(General Index)索引(二)(Index of Example Classes,Functions,and Templtes)

章节摘录

版权页:插图:我们终于抵达了最后一站。本章内含难以归类的准则。一开始的两个条款讨论C++软件开发过程如何设计出能够容纳日后变化的系统。是的,面向对象方法应用于系统构造的一个强大力量就是,它支持日后的变化。这些条款描述了一些特定步骤,你可以用来强化你的软件工事,抵抗这个拒绝停滞的世界带来的刀戟箭弩。接下来我将验证如何在同一个程序中结合C和C++。这个需求导致语言上的额外考虑,不过C++毕竟生存于真实世界之中,有时候我们必须面对这样的问题。最后,我把“C++标准规格”公开之后的各项语言变化做一番摘要整理。在此特别涵盖标准程序库中翻天覆地的大变化(亦请参考条款E49)。如果你未曾密切跟随标准化的脚步,对于这些变化可能会有很大的惊喜。是的,标准程序库中有许多让人愉悦的东西。条款32:在未来时态下发展程序  世事永远在变。  身为软件开发人员,我们可能不是知道得很多,但我们确切知道世事永远在变。我们不一定知道改变的是什么,改变如何到来,改变何时发生,或为什么会发生,但我们真的知道:事情会改变。好的软件对于变化有良好的适应能力。好的软件可以容纳新的性质,可以移植到新的平台,可以适应新的需求,可以掌握新的输入。软件具备如此的弹性、健壮性、可信赖度,并非是天上掉下来的礼物,而是那些“即使面对今天的束缚,仍然对明天可能的需求念兹在兹”的设计者和实现者共同努力的结果。

媒体关注与评论

《Effective c++》(Scott Meyers第一本书)的荣耀:“对于任何渴望在中阶或高阶层面精通c++的人,我慎重推荐《Effective c++》,”  ——(The C/C++User's Journal)

编辑推荐

《More Effective C++:35个改善编程与设计的有效方法(中文版)》:传世经典书丛

图书封面

图书标签Tags

评论、评分、阅读与下载


    More Effective C++(中文版) PDF格式下载


用户评论 (总计106条)

 
 

  •    成书是在 Effective C++ 3ed 之前,所以书的内容有一部分与 Effective C++ 3ed重复,它在书内批的 E 也是指 Effective C++ 2ed。
      而且书中一些指的特性在新版的C++标准中已经实现,尤其是在C++0X11标准中。
      虽然有这些不足,但一点也不失做为经典的份量。
  •   先前度过同事的effective c++,觉得很好,所以这本也不能错过,毕竟是一个作者写的,同一个人翻译的。
  •   经典C++书籍,Effective C++的姊妹篇,看大家都评论就知道这本书的价值。非常值得拥有,即使不看,作为收藏也是不错的
  •   Scott Meyers 的书 必看
  •   看了她的前书 effective c++ 后果断买了这本书,今天看了一半 作者的视角确实很独特
  •   Effective 和more Effective C++ 编程必备。。。
  •   经典书籍,就是太贵了,很奇怪的是,effective c++有版本号,这本没有版本号!
  •   先读Effective C++,再看看这本,会有不同的体会。如果有精力可以再看看C++ object model,功力大增。
  •   Effective 总感觉是讲语法。而more effective 感觉是让人减少犯错误的机会。值得一读。
  •   Effective C++的延续,非常值得一读
  •   刚看完,Effective c ,现在接着看这本。好书
  •   搭配effective c++一起看,不错的选择。。
  •   和Effective C++一样棒,nice
  •   该书能够给程序员好饿编程规范,并且在程序设计时能够更有效的进行编程,对于高级程序员来说非常值得一看
  •   侯捷写的和侯捷译的书,一直是我在学习面向对象语言和思想时首选的书。
    这本书需要一定的C++基础,但不算太深。
    就目录表现出来的体系划分来说,比较适合从事软件开发3年左右的工程师研读。
    能够帮助把自己的经验总结出来,让自己的思路和方向更清晰。
    的确是一本好书。
  •   适合有一定开发基础的C++程序猿,内容写的很好。侯捷老师的书,没说的
  •   这个作者写的书还是蛮经典的,受教中啊!
  •   网上关于这个的评价很多,非常经典的书籍,不用我细说了。c++编程必备
  •   朋友推荐的,还有同一系列的书都不错
  •   朋友推荐的书,内容不错。质量有待提高
  •   很不错的书,对于c++编程来说,这本书可以让人觉得自己的编程水平上了一个层次。
  •   经典书,以前有本老的丢了,现在在买一本
  •   想要成为c++程序高手这本书必看,其中讲到很多c++程序设计时会遇到的问题,非常值得一读。
  •   老师推荐,好东东,很喜欢
  •   总结的经典,学好C++捷径之一。
  •   这本书是专门讨论c++中的常见的问题,如内存,异常等话题。剖析得相当详细和深刻。可以进一步了解C++的博大魅力。
  •   c++程序员必读的书
  •   通过35个编程实例,展示专家经验,行文有趣
  •   C++的经典,绝对是。对于增进C++的理解会大有易处。
  •   经典著作,必须拥有啊
  •   学了编程再提高
  •   很好,很实用的一本书,很有技术含量
  •   经典书藉,买着收藏也是必需的
  •   经典的书啊经典的翻译
  •   光放着就很让人舒服,很有分量,经典
  •   这本书确实很经典!值得读!
  •   很经典和一本书
  •   看过几页,还是挺不错的,值得拥有
  •   C++的经典书籍,讲解挺好,希望自己能学到里面的精华!!
  •   经典的好书,需要认真研读!
  •   和EffectiveC++一样,都是非常经典的
  •   经典著作,不解释.
  •   确实很经典。。。
  •   看书要一步一步来,仔细看看吧
  •   书很好,干净,这回可以好好看看了
  •   研究C++的朋友绝对要去看看本书
  •   c++坑很多,这本书教你如何躲坑,如何写出高质量的c++代码。
  •   超级超级超级赞赞赞 值得程序员拜读
  •   书的印刷质量还不错,内容那就不用多言,必读之书
  •   对原作者和译都很喜欢,两个人都很有水平,候捷的书很好的
  •   但是有点粗糙。内容没得说,但书实在是太脏,莫非是货架上那种人来人往你鄱我摸的那种?
  •   刚看完 好书就是好。内容相当好,就是比上一版的贵。
  •   温故而知新,没事看两眼
  •   看了35款中的前两款,确实是平时不是很注意但是又比较重要的细节问题,值得一看
  •   大师之作,必属精品,需细心阅读
  •   豁然开朗的感觉,不愧为大师的手笔。
  •   写代码的参考书
  •   专家的经验,不仅是看一遍,结合经历或者动动手试一试效果更好
  •   物流很快,书也是正版,赞一个
  •   书到了,质量不错。坚持看完。
  •   印刷不错,书的质量挺好。
  •   不错的书,就是买重复了,不过可以退货,很不错
  •   值得收藏下来的书,肯定要多看几遍的
  •   几乎每一个C++进阶者必看的书
  •   一直在当当上买书,一如既往的好啊
  •   很好的书,这个就不用说了
  •   应该是正版书 内容还没有看呢 应该不会差的
  •   北京本地1天多到的货,包的还可以,书成色也很好
  •   c++必备,值得深入研究的书
  •   适合精通C++的人,对代码质量的提升很有帮助
  •   好书自然不用多废话。。懂的人自然懂
  •   非常好的一本书,就是送货速度有点慢
  •   非常棒的一本书,绝对物超所值
  •   很喜欢这本书,一直想买,果然很值。
  •   这本书不说了,纸张和印刷不错。。。
  •   早就听说这本书不错,终于买了
  •   还没开始看,但读了不带more的那一本感觉不错,就把这本一起买了,纸张很舒服
  •   金典图书,必修科目
  •   值得一看!!!!高级
  •   听师兄的建议,买回来一看
  •   适合又一定基础的看,内容很有启发性。
  •   送货很快,质量很发,精典不容错过!
  •   等了好久不打特价,最后忍不住了
  •   提升C++质量的必备书,很不错。
  •   好书,绝对经典,值得收藏
  •   虽然现在还是基础,不过慢慢看
  •   老公买的,还没开始看的,希望对老公有很大帮助。
  •   我是几年前买的第二版的effective c++,书的印刷各方面都很好。今日到手第三版的这本more effective C++,对书的质量很是失望。纸张非常毛糙,书的边缘切的也非常不好!,远不如第二版。电子工业出版社着实让人很失望!不如去买第二版了!
  •   什么也不说了,读了才知道这本书有多么经典。
  •   我没看过03年版本的,不知道这个版本侯先生重新修改过没。书刚到手几天,看了几十页,感觉有些文字翻译是可以改进滴。比如P32的“至于--操作符,故事一样。”P19的“所谓default constructor(也就是说不给任何自变量就可调用者)”。这只是个人看法,欢迎探讨。。。
  •   书的内容无可厚非,书的质量有点问题
  •   此书比effective C++作用更大。不要忽略。
  •   经典,非常不错,C++程序员必读
  •   侯捷+Scott Meyers,不要犹豫,就是他了
  •   很有用的书,很好很强大
  •   好。。。。。c++程序员必看
  •   质量不错,买之前看了一下评论,差点没买。鄙视那些拿钱发帖的渣滓,祝你们全家得重病!
  •   深入学c++的,推荐购买
  •   不愧为大师所著 当我看到第一个问题 就解决了我内心里的一个问题····· 值得拥有 国外的书籍都是站在读者的角度出发的
  •   前一本看过了,再看这本,经典
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7