More Effective C++(中文版)txt,chm,pdf,epub,mobi下载 作者:梅耶(Scott Meyers) 出版社: 电子工业出版社 副标题: 35个改善编程与设计的有效方法 译者: 侯捷 出版年: 2011-1-1 页数: 317 定价: 59.00元 装帧: 平装 丛书: 传世经典书丛 ISBN: 9787121125706 内容简介 · · · · · ·《More Effective C++:35个改善编程与设计的有效方法(中文版)》是梅耶尔大师Effective三部曲之一。继Effective C++之后,Scott Meyers于1996推出这本《More Effective C++(35个改善编程与设计的有效方法)》“续集”。条款变得比较少,页数倒是多了一些,原因是这次选材比“一集”更高阶,尤其是第5章。Meyers将此章命名为技术(techniques),并明白告诉你,其中都是一些patterns,例如virtual constructors,smart pointers,reference counting,proxy classes,double dispatching……这一章的每个条款篇幅都达15-30 页之多,实在让人有“山重水复疑无路,柳暗花明又一村”之叹。 虽然出版年代稍嫌久远... 作者简介 · · · · · ·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++ 转型操作符 · · · · · ·() 译序(侯捷) 导读(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”与“传递一个参数” 或“调用一个虚函数”之间的差异 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) 条款25:将 constructor 和 non-member functions 虚化 virtualizing constructors and non-member functions. 条款26:限制某个 class 所能产生的对象数量 limiting the number of objects of a class. 条款27:要求(或禁止)对象产生于 heap 之中 requiring or prohibiting heap-based objects. 条款28:smart pointers(智能指针) 条款29:reference counting(引用计数) 条款30:proxy classes(替身类、代理类) 条款31:让函数根据一个以上的对象类型来决定如何虚化 making functions virtual with respect to more than one object. 杂项讨论(miscellany) 条款32:在未来时态下发展程序 program in the future tense. 条款33:将非尾端类(non-leaf classes)设计为 抽象类(abstract classes) make non-leaf classes abstract. 条款34:如何在同一个程序中结合 c++ 和 c understand how to combine c++ and c in the same program. 条款35:让自己习惯于标准 c++ 语言 familiarize yourself with the language standard. 推荐读物 auto_ptr 实现代码 索引(一)(general index) 索引(二)(index of example classes,functions,and templtes) · · · · · · () |
很不一样的体验
很有趣
脑洞之大,角度只独特让我震撼
很不错的书