More Effective C++(中文版):35个改善编程与设计的有效方法

More Effective C++(中文版):35个改善编程与设计的有效方法
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] ,
2011-01
版次: 1
ISBN: 9787121125706
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 317页
字数: 500千字
正文语种: 简体中文
原版书名: More Effective C++:35 New Ways to Improve Your Programs and Designs
590人买过
  •   继EffectiveC++之后,ScottMeyers于1996推出这本“续集”。条款变得比较少,页数倒是多了一些,原因是这次选材比“第一集”更高阶,尤其是第5章。Meyers将此章命名为技术(techniques),并明白告诉你,其中都是一些patterns,例如virtualconstructors,smartpointers,referencecounting,proxyclasses,doubledispatching……这一章的每个条款篇幅都达15~30页之多,实在让人有“山重水复疑无路,柳暗花明又一村”之叹。
      虽然出版年代稍嫌久远,但本书并没有第2版,原因是当其出版之时(1996),C++Standard已经几乎定案,《MoreEffectiveC++:35个改善编程与设计的有效方法(中文版)》即依当时的标准草案而写,其与现今的C++标准规范几乎相同。而且可能变化的几个弹性之处,Meyers也都有所说明与提示。读者可以登录作者提供的网址,看看上下两集的勘误与讨论(数量之多,令人惊恐。幸好多是技术讨论或文字斟酌,并没有什么重大误失)。
      读者对象:程序设计学习者和在职开发人员。   ScottMeyers,世界的C++软件开发技术专业之一。他是两本畅销书EffectiveC++和MoreEffectiveC++的作者,以前曾经是C++Report的专栏作家。他经常为C/C++UsersJournal和Dr.Dobb'sJournal撰稿,也为全球范围内的客户做咨询活动。他也是AdvisoryBoardsforNumeriXLLC和InfoCruiser公司的成员。他拥有BrownUniversity的计算机科学博士学位。
      侯捷,集计算机技术读物之著、泽、评于一身,足《多态与虚拟》和《STL源码剖析》的作者,《Run!Pc》杂志、《程序员》杂志的知名专栏作家,也是极其号召力的大学教师与研讨会讲师。他于1989年获得中国台湾清华大学动机系硕士学位。 导读(Introduction)
    基础议题(Basics)
    条款1:仔细区别pointers和references
    Distinguishbetweenpointersandreferences.
    条款2:最好使用C++转型操作符
    PreferC++-stylecasts.
    条款3:绝对不要以多态(polymorphically)方式处理数组
    Nevertreatarrayspolymorphically.
    条款4:非必要不提供defaultconstructor
    Avoidgratuitousdefaultconstructors.
    操作符(Operators)
    条款5:对定制的"类型转换函数"保持警觉
    Bewaryofuser-definedconversionfunctions.
    条款6:区别increment/decrement操作符的前置(prefix)和后置(postfix)形式
    Distinguishbetweenprefixandpostfixformsofincrementanddecrementoperators.
    条款7:千万不要重载&&,||和,操作符
    Neveroverload&&,||,or,.
    条款8:了解各种不同意义的new和delete
    Understandthedifferentmeaningsofnewanddelete

    异常(Exceptions)
    条款9:利用destructors避免泄漏资源
    Usedestructorstopreventresourceleaks.
    条款10:在constructors内阻止资源泄漏(resourceleak)
    Preventresourceleaksinconstructors.
    条款11:禁止异常(exceptions)流出destructors之外
    Preventexceptionsfromleavingdestructors.
    条款12:了解"抛出一个exception"与"传递一个参数"或"调用一个虚函数"之间的差异
    Understandhowthrowinganexceptiondiffersfrompassingaparameterorcallingavirtualfunction.
    条款13:以byreference方式捕捉exceptions
    Catchexceptionsbyreference.
    条款14:明智运用exceptionspecifications
    Useexceptionspecificationsjudiciously.
    条款15:了解异常处理(exceptionhandling)的成本
    Understandthecostsofexceptionhandling.

    效率(Efficiency)
    条款16:谨记80-20法则
    Rememberthe80-20rule.
    条款17:考虑使用lazyevaluation(缓式评估)
    Considerusinglazyevaluation.
    条款18:分期摊还预期的计算成本
    Amortizethecostofexpectedcomputations.
    条款19:了解临时对象的来源
    Understandtheoriginoftemporaryobjects.
    条款20:协助完成"返回值优化(RVO)"
    Facilitatethereturnvalueoptimization.
    条款21:利用重载技术(overload)避免隐式类型转换(implicttypeconversions)
    Overloadtoavoidimplicittypeconversions.
    条款22:考虑以操作符复合形式(op=)取代其独身形式(op)
    Considerusingop=insteadofstand-aloneop.
    条款23:考虑使用其他程序库
    Consider alternativelibraries.
    条款24:了解virtualfunctions、multipleinheritance、virtualbaseclasses、runtimetypeidentification的成本
    Understandthecostsofvirtualfunctions,multipleinheritance,virtualbaseclasses,andRTTI.

    技术(Techniques,Idioms,Patterns)
    条款25:将constructor和non-memberfunctions虚化
    Virtualizingconstructorsandnon-memberfunctions.
    条款26:限制某个class所能产生的对象数量
    Limitingthenumberofobjectsofaclass.
    条款27:要求(或禁止)对象产生于heap之中
    Requiringorprohibitingheap-basedobjects.
    条款28:SmartPointers(智能指针)
    条款29:Referencecounting(引用计数)
    条款30:Proxyclasses(替身类、代理类)
    条款31:让函数根据一个以上的对象类型来决定如何虚化
    Makingfunctionsvirtualwithrespecttomorethanoneobject.

    杂项讨论(Miscellany)
    条款32:在未来时态下发展程序
    Programinthefuturetense.
    条款33:将非尾端类(non-leafclasses)设计为抽象类(abstractclasses)
    Makenon-leafclassesabstract.
    条款34:如何在同一个程序中结合C++和C
    UnderstandhowtocombineC++andCinthesameprogram.
    条款35:让自己习惯于标准C++语言
    Familiarizeyourselfwiththelanguagestandard.
    推荐读物
    auto_ptr实现代码
    索引(一)(GeneralIndex)
    索引(二)(IndexofExampleClasses,Functions,andTempltes)
  • 内容简介:
      继EffectiveC++之后,ScottMeyers于1996推出这本“续集”。条款变得比较少,页数倒是多了一些,原因是这次选材比“第一集”更高阶,尤其是第5章。Meyers将此章命名为技术(techniques),并明白告诉你,其中都是一些patterns,例如virtualconstructors,smartpointers,referencecounting,proxyclasses,doubledispatching……这一章的每个条款篇幅都达15~30页之多,实在让人有“山重水复疑无路,柳暗花明又一村”之叹。
      虽然出版年代稍嫌久远,但本书并没有第2版,原因是当其出版之时(1996),C++Standard已经几乎定案,《MoreEffectiveC++:35个改善编程与设计的有效方法(中文版)》即依当时的标准草案而写,其与现今的C++标准规范几乎相同。而且可能变化的几个弹性之处,Meyers也都有所说明与提示。读者可以登录作者提供的网址,看看上下两集的勘误与讨论(数量之多,令人惊恐。幸好多是技术讨论或文字斟酌,并没有什么重大误失)。
      读者对象:程序设计学习者和在职开发人员。
  • 作者简介:
      ScottMeyers,世界的C++软件开发技术专业之一。他是两本畅销书EffectiveC++和MoreEffectiveC++的作者,以前曾经是C++Report的专栏作家。他经常为C/C++UsersJournal和Dr.Dobb'sJournal撰稿,也为全球范围内的客户做咨询活动。他也是AdvisoryBoardsforNumeriXLLC和InfoCruiser公司的成员。他拥有BrownUniversity的计算机科学博士学位。
      侯捷,集计算机技术读物之著、泽、评于一身,足《多态与虚拟》和《STL源码剖析》的作者,《Run!Pc》杂志、《程序员》杂志的知名专栏作家,也是极其号召力的大学教师与研讨会讲师。他于1989年获得中国台湾清华大学动机系硕士学位。
  • 目录:
    导读(Introduction)
    基础议题(Basics)
    条款1:仔细区别pointers和references
    Distinguishbetweenpointersandreferences.
    条款2:最好使用C++转型操作符
    PreferC++-stylecasts.
    条款3:绝对不要以多态(polymorphically)方式处理数组
    Nevertreatarrayspolymorphically.
    条款4:非必要不提供defaultconstructor
    Avoidgratuitousdefaultconstructors.
    操作符(Operators)
    条款5:对定制的"类型转换函数"保持警觉
    Bewaryofuser-definedconversionfunctions.
    条款6:区别increment/decrement操作符的前置(prefix)和后置(postfix)形式
    Distinguishbetweenprefixandpostfixformsofincrementanddecrementoperators.
    条款7:千万不要重载&&,||和,操作符
    Neveroverload&&,||,or,.
    条款8:了解各种不同意义的new和delete
    Understandthedifferentmeaningsofnewanddelete

    异常(Exceptions)
    条款9:利用destructors避免泄漏资源
    Usedestructorstopreventresourceleaks.
    条款10:在constructors内阻止资源泄漏(resourceleak)
    Preventresourceleaksinconstructors.
    条款11:禁止异常(exceptions)流出destructors之外
    Preventexceptionsfromleavingdestructors.
    条款12:了解"抛出一个exception"与"传递一个参数"或"调用一个虚函数"之间的差异
    Understandhowthrowinganexceptiondiffersfrompassingaparameterorcallingavirtualfunction.
    条款13:以byreference方式捕捉exceptions
    Catchexceptionsbyreference.
    条款14:明智运用exceptionspecifications
    Useexceptionspecificationsjudiciously.
    条款15:了解异常处理(exceptionhandling)的成本
    Understandthecostsofexceptionhandling.

    效率(Efficiency)
    条款16:谨记80-20法则
    Rememberthe80-20rule.
    条款17:考虑使用lazyevaluation(缓式评估)
    Considerusinglazyevaluation.
    条款18:分期摊还预期的计算成本
    Amortizethecostofexpectedcomputations.
    条款19:了解临时对象的来源
    Understandtheoriginoftemporaryobjects.
    条款20:协助完成"返回值优化(RVO)"
    Facilitatethereturnvalueoptimization.
    条款21:利用重载技术(overload)避免隐式类型转换(implicttypeconversions)
    Overloadtoavoidimplicittypeconversions.
    条款22:考虑以操作符复合形式(op=)取代其独身形式(op)
    Considerusingop=insteadofstand-aloneop.
    条款23:考虑使用其他程序库
    Consider alternativelibraries.
    条款24:了解virtualfunctions、multipleinheritance、virtualbaseclasses、runtimetypeidentification的成本
    Understandthecostsofvirtualfunctions,multipleinheritance,virtualbaseclasses,andRTTI.

    技术(Techniques,Idioms,Patterns)
    条款25:将constructor和non-memberfunctions虚化
    Virtualizingconstructorsandnon-memberfunctions.
    条款26:限制某个class所能产生的对象数量
    Limitingthenumberofobjectsofaclass.
    条款27:要求(或禁止)对象产生于heap之中
    Requiringorprohibitingheap-basedobjects.
    条款28:SmartPointers(智能指针)
    条款29:Referencecounting(引用计数)
    条款30:Proxyclasses(替身类、代理类)
    条款31:让函数根据一个以上的对象类型来决定如何虚化
    Makingfunctionsvirtualwithrespecttomorethanoneobject.

    杂项讨论(Miscellany)
    条款32:在未来时态下发展程序
    Programinthefuturetense.
    条款33:将非尾端类(non-leafclasses)设计为抽象类(abstractclasses)
    Makenon-leafclassesabstract.
    条款34:如何在同一个程序中结合C++和C
    UnderstandhowtocombineC++andCinthesameprogram.
    条款35:让自己习惯于标准C++语言
    Familiarizeyourselfwiththelanguagestandard.
    推荐读物
    auto_ptr实现代码
    索引(一)(GeneralIndex)
    索引(二)(IndexofExampleClasses,Functions,andTempltes)
查看详情
系列丛书 / 更多
More Effective C++(中文版):35个改善编程与设计的有效方法
程序员修炼之道:从小工到专家
[美]亨特(Andrew Hunt)、[美]托马斯(Daid Thomas) 著;马维达 译
More Effective C++(中文版):35个改善编程与设计的有效方法
Essential C++中文版
[美]Stanley B.Lippman 著;侯捷 译
More Effective C++(中文版):35个改善编程与设计的有效方法
Effective C++ 改善程序与设计的55个具体做法(第3版)
[美]梅耶(Scott Meyers) 著;侯捷 译
More Effective C++(中文版):35个改善编程与设计的有效方法
UNIX编程艺术
[美]Eric S.Raymond 著;姜宏、何源、蔡晓骏 译
More Effective C++(中文版):35个改善编程与设计的有效方法
传世经典书丛·Effective STL中文版:50条有效使用STL的经验(双色)
[美]Scott Meyers 著;潘爱民、陈铭、邹开红 译
More Effective C++(中文版):35个改善编程与设计的有效方法
More Exceptional C++(中文版)
[美]舒特(Sutter H.) 著;於春景 译
More Effective C++(中文版):35个改善编程与设计的有效方法
提高C++性能的编程技术
[美]布尔卡、梅休 著;左飞 译
More Effective C++(中文版):35个改善编程与设计的有效方法
程序员修炼之道:从小工到专家
安德鲁·亨特(Andrew Hunt)、大卫·托马斯(David Thomas) 著;周爱民 译
More Effective C++(中文版):35个改善编程与设计的有效方法
Java编程思想(第4版)(评注版)
[美]Bruce Eckel 著
More Effective C++(中文版):35个改善编程与设计的有效方法
重构:改善既有代码的设计
[美]Martin Fowler 著
More Effective C++(中文版):35个改善编程与设计的有效方法
编程匠艺:编写卓越的代码
Pete Goodliffe 著;韩江、陈玉 译
More Effective C++(中文版):35个改善编程与设计的有效方法
Effective C++:改善程序与设计的55个具体做法
[美]Scott meyers 著;云飞 注
相关图书 / 更多
More Effective C++(中文版):35个改善编程与设计的有效方法
MongoDB性能调优实战
[澳]盖伊·哈里森(Guy Harrison);[澳]迈克尔·哈里森(Michael Harrison)
More Effective C++(中文版):35个改善编程与设计的有效方法
Moldflow模流分析基础教程
李丽华
More Effective C++(中文版):35个改善编程与设计的有效方法
Moss & Adams心脏病学:从胎儿到青年(原书第9版)(全2册)
[美]Hugh D. Allen (美) Robert E. Shaddy (美) Daniel J. Penny
More Effective C++(中文版):35个改善编程与设计的有效方法
Moho二维数字动画制作详解(微课实训版)
谢猛军;周璇
More Effective C++(中文版):35个改善编程与设计的有效方法
Moldflow模具实用分析教程(第3版)
吴梦陵
More Effective C++(中文版):35个改善编程与设计的有效方法
Moho智能数字动画制作
刘阔
More Effective C++(中文版):35个改善编程与设计的有效方法
Molecular dynamics study of multi-scale carbon nanocomposites=多尺度碳纳米复合材料的分子动力学研究
张丹慧
More Effective C++(中文版):35个改善编程与设计的有效方法
Mobile Microservices: Building Flexible Pervasive Applications
Nanxi Chen
More Effective C++(中文版):35个改善编程与设计的有效方法
Mosby内分泌生殖与生理学(原书第5版)
[美]Bruce·A.怀特;约翰·R.哈利森;丽莎·M.梅尔曼
More Effective C++(中文版):35个改善编程与设计的有效方法
Mondo黑胶唱片设计艺术典藏
[美]Mondo公司 后浪
More Effective C++(中文版):35个改善编程与设计的有效方法
Modern Engineering Graphics(Exercise Workbook Included)现代工程图学(含习题集)Modern Engineering Graphics Exe
王静秋;卢敏;贾皓丽
More Effective C++(中文版):35个改善编程与设计的有效方法
Moldflow2021模流分析从入门到精通(升级版)
陈如香 著
您可能感兴趣 / 更多
More Effective C++(中文版):35个改善编程与设计的有效方法
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
More Effective C++(中文版):35个改善编程与设计的有效方法
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
More Effective C++(中文版):35个改善编程与设计的有效方法
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
More Effective C++(中文版):35个改善编程与设计的有效方法
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
More Effective C++(中文版):35个改善编程与设计的有效方法
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
More Effective C++(中文版):35个改善编程与设计的有效方法
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
More Effective C++(中文版):35个改善编程与设计的有效方法
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
More Effective C++(中文版):35个改善编程与设计的有效方法
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
More Effective C++(中文版):35个改善编程与设计的有效方法
汤姆素亚历险记:中小学生课外阅读快乐读书吧 儿童文学无障碍有声伴读世界名著童话故事
[美]马克·吐温
More Effective C++(中文版):35个改善编程与设计的有效方法
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
More Effective C++(中文版):35个改善编程与设计的有效方法
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译
More Effective C++(中文版):35个改善编程与设计的有效方法
Effective C++中文版
[美]Scott Meyers 著;侯捷 译