Effective C++ Third Edition

Effective C++ Third Edition
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: (Meyers S.)
2006-03
版次: 1
ISBN: 9787121008276
定价: 45.00
装帧: 平装
开本: 其他
纸张: 胶版纸
页数: 297页
字数: 500千字
97人买过
  • 有人说C++程序员可以分成两类,读过Effective C++的和没读过的。然而世界顶级C++大师Scott Meyers成名之作的第三版的确这样深入。或许有点夸张了,但无论如何,当您拥有这本书之后,就获得了迅速提升自己C++功力的一个契机。
      
      
      在国际上﹐本书所引起的反响之大﹐波及整个计算器技术出版领域﹐余音至今未绝。几乎在所有C++书籍的推荐名单上﹐本书都会位于前三名。作者高超的技术把握力﹐独特的视角﹑诙谐轻松的写作风格﹑独具匠心的内容组织﹐都受到极大的推崇和仿效。甚至连本书简洁明快的命名风格﹐也有着一种特殊的号召力﹐我可以轻易列举出一大堆类似名字﹐比如Meyers本人的More Effective C++和Effective STL﹐Don Box的EffectiveCOM﹐Stan Lippman主编的Efficient C++系列﹐Herb Sutter的Exceptional C++等等。要知道﹐这可不是出版社的有意安排﹐而且上面这些作者﹐同样是各自领域里的绝顶大师﹐决非人云亦云﹑欺世盗名之辈。这种奇特的现象﹐只能解释为人们对这本书衷心的赞美和推崇。
      
      
      这本书不是读完一遍就可以束之高阁的快餐读物,也不是能够立刻解决手边问题的参考手册,而是需要您去反复阅读体会,极力融入自己思想之中,融入自己每一次敲击键盘的动作之中。C++是真正程序员的语言,背后有着精深的思想与无以伦比的表达能力,这使得它具有类似宗教般的魅力。希望这本书能够帮助您跨越C++的重重险阻,领略高处才有的壮美,做一个成功而快乐的C++程序员。 Scott Meyers,is one of the world s foremost experts on C++ software development He is author of the best-selling Effective C++ series (Effective C++,More Effective C++,and Effective STL) ,designer and author of the innovative Effective C++ CD,consult Preface 

    Acknowledgments

    Introduction   

    Chapter 1:Accustoming Yourselft0 C++  

      Item 1:View C++as a flederation oflanguages.   

      Item 2:Prefler consts,enums,and inlines to #defines.  

      Item 3:Use const whenever pOSSible.

      Item 4:Make sure that objects are initialized before they're used.

    Chapter 2:C0nstI'Uctors,DestI'Uctors,and Assignment operators   

      Item 5:Know what functions C++silently writes and calls.    

      Item 6:Explicitly disanOW the use of compilergenerated  functions yOH do not want.  

      Item 7:Declare destruetors virtual in polymorphic base dasses.  

      Item 8:Prevent exceptions flrom leaVing destructors.   

      Item 9:Never call Virtual functions during construetion Or destruction.    

      Item 10:Have assignment operators return a reference tO*this.   

      Item 11:Handle assignment to self in operator=.   

      Item 12:CoPY a11 parts 0fan 0bject.    

    Chapter 3:Resource ManageInent   

      Item 13:Use objects to manage resources.   

      Item 14:Think carefully about copying behavior in resource-managing cIasses.   

      Item 15:Provide access t0 raw resources in resourcemanaging classes.

      Item 16:Use the same form in corresponding uses 0f new and delete.

      Item 17:store newed 0bjects in smart pointers in standalone statements.

    Chapter 4:Designs and Declarations

      Item 18:Make interfaces easy t0 use correctly and hard t0 use incorrectly.   

      Item 19:Treat claSS design as type design.   

      Item 20:Prefer pass-by-reference-to-const t0 pass_by-value.   

      Item 21:Don’try to return a refefence when you must return an o bject.   

      Item 22:Declare data members private.   

      Item 23:Prefer non-member non-friend functions to member functions.  

      Item 24:Declare non-member functions when type 

                 conversions shonld apply to a11 parameters.  

      Item 25:Consider SUpport for a non-throwing swap.    

    Chapter 5:Implementations   

      Item 26:P0stpone variable definitions as 10ng as possible.

      Item 27:Minimize casting.   

      Item 28:Avoid returning“handles”to object internals. 

      Itam 29:strive for exception-safe code.  

      Item 30:Understand the ins and outs 0f inlining.  

      Item 31:Minimize compilation dependencies between files.   

    Chapter 6:Inheritance and 0bject一0riented Design   

    Item 32:Make sure public inheritance models“is-a.”   

    Item 33:Avoid hiding inherited names.   

    Item 34:DifieFentiate between inheritance of interface and

             inheritance of implementation.

      Item 35:COIlSider alternatives to virtual functions.   

      Item 36:Never redefine an inherited non-virtnal fLlnction.   

      Item 37: Never redefine a function's inherited default parameter value.       

      Item 38: Model "has-a" or is-implemented-in-terms-of' through composition.  

      Item 39: Use private inheritance judiciously.       

      Item 40: Use multiple inheritance judiciously.          

    Chapter 7: Templates and Generic Programming       

      Item 41: Understand implicit interfaces and compiletime polymorphism.

      Item 42: Understand the two meanings of typename.      

      Item 43: Know how to access names in templatized base classes.

      Item 44: Factor parameter-independent code out of templates.

      Item 45: Use member function templates to accept "all compatible types."       

      Item 46: Define non-member functions inside templates

                hen type conversions are desired. 

      Item 47: Use traits classes for information about types.     

      Item 48: Be aware of template metaprogramming.          

    Chapter 8: Customizing new and delete                

      Item 49: Understand the behavior of the new-handler.          

      Item 5o: Understand when it makes sense to replace new and delete.   

      Item 51: Adhere to convention when writing new and delete.        

      Item 52: Write placement delete if you write placement new.       

    Chapter 9: Miscellany                  

      Item 53: Pay attention to compiler warnings.             

      Item 54: Familiarize yourself with the standard library, including TR1.           

      Item 55: Familiarize yourself with Boost.                     

    Appendix A: Beyond Effective C++ 273

    Appendix B: Item Mappings Between Second  and Third Editions 

    Index
  • 内容简介:
    有人说C++程序员可以分成两类,读过Effective C++的和没读过的。然而世界顶级C++大师Scott Meyers成名之作的第三版的确这样深入。或许有点夸张了,但无论如何,当您拥有这本书之后,就获得了迅速提升自己C++功力的一个契机。
      
      
      在国际上﹐本书所引起的反响之大﹐波及整个计算器技术出版领域﹐余音至今未绝。几乎在所有C++书籍的推荐名单上﹐本书都会位于前三名。作者高超的技术把握力﹐独特的视角﹑诙谐轻松的写作风格﹑独具匠心的内容组织﹐都受到极大的推崇和仿效。甚至连本书简洁明快的命名风格﹐也有着一种特殊的号召力﹐我可以轻易列举出一大堆类似名字﹐比如Meyers本人的More Effective C++和Effective STL﹐Don Box的EffectiveCOM﹐Stan Lippman主编的Efficient C++系列﹐Herb Sutter的Exceptional C++等等。要知道﹐这可不是出版社的有意安排﹐而且上面这些作者﹐同样是各自领域里的绝顶大师﹐决非人云亦云﹑欺世盗名之辈。这种奇特的现象﹐只能解释为人们对这本书衷心的赞美和推崇。
      
      
      这本书不是读完一遍就可以束之高阁的快餐读物,也不是能够立刻解决手边问题的参考手册,而是需要您去反复阅读体会,极力融入自己思想之中,融入自己每一次敲击键盘的动作之中。C++是真正程序员的语言,背后有着精深的思想与无以伦比的表达能力,这使得它具有类似宗教般的魅力。希望这本书能够帮助您跨越C++的重重险阻,领略高处才有的壮美,做一个成功而快乐的C++程序员。
  • 作者简介:
    Scott Meyers,is one of the world s foremost experts on C++ software development He is author of the best-selling Effective C++ series (Effective C++,More Effective C++,and Effective STL) ,designer and author of the innovative Effective C++ CD,consult
  • 目录:
    Preface 

    Acknowledgments

    Introduction   

    Chapter 1:Accustoming Yourselft0 C++  

      Item 1:View C++as a flederation oflanguages.   

      Item 2:Prefler consts,enums,and inlines to #defines.  

      Item 3:Use const whenever pOSSible.

      Item 4:Make sure that objects are initialized before they're used.

    Chapter 2:C0nstI'Uctors,DestI'Uctors,and Assignment operators   

      Item 5:Know what functions C++silently writes and calls.    

      Item 6:Explicitly disanOW the use of compilergenerated  functions yOH do not want.  

      Item 7:Declare destruetors virtual in polymorphic base dasses.  

      Item 8:Prevent exceptions flrom leaVing destructors.   

      Item 9:Never call Virtual functions during construetion Or destruction.    

      Item 10:Have assignment operators return a reference tO*this.   

      Item 11:Handle assignment to self in operator=.   

      Item 12:CoPY a11 parts 0fan 0bject.    

    Chapter 3:Resource ManageInent   

      Item 13:Use objects to manage resources.   

      Item 14:Think carefully about copying behavior in resource-managing cIasses.   

      Item 15:Provide access t0 raw resources in resourcemanaging classes.

      Item 16:Use the same form in corresponding uses 0f new and delete.

      Item 17:store newed 0bjects in smart pointers in standalone statements.

    Chapter 4:Designs and Declarations

      Item 18:Make interfaces easy t0 use correctly and hard t0 use incorrectly.   

      Item 19:Treat claSS design as type design.   

      Item 20:Prefer pass-by-reference-to-const t0 pass_by-value.   

      Item 21:Don’try to return a refefence when you must return an o bject.   

      Item 22:Declare data members private.   

      Item 23:Prefer non-member non-friend functions to member functions.  

      Item 24:Declare non-member functions when type 

                 conversions shonld apply to a11 parameters.  

      Item 25:Consider SUpport for a non-throwing swap.    

    Chapter 5:Implementations   

      Item 26:P0stpone variable definitions as 10ng as possible.

      Item 27:Minimize casting.   

      Item 28:Avoid returning“handles”to object internals. 

      Itam 29:strive for exception-safe code.  

      Item 30:Understand the ins and outs 0f inlining.  

      Item 31:Minimize compilation dependencies between files.   

    Chapter 6:Inheritance and 0bject一0riented Design   

    Item 32:Make sure public inheritance models“is-a.”   

    Item 33:Avoid hiding inherited names.   

    Item 34:DifieFentiate between inheritance of interface and

             inheritance of implementation.

      Item 35:COIlSider alternatives to virtual functions.   

      Item 36:Never redefine an inherited non-virtnal fLlnction.   

      Item 37: Never redefine a function's inherited default parameter value.       

      Item 38: Model "has-a" or is-implemented-in-terms-of' through composition.  

      Item 39: Use private inheritance judiciously.       

      Item 40: Use multiple inheritance judiciously.          

    Chapter 7: Templates and Generic Programming       

      Item 41: Understand implicit interfaces and compiletime polymorphism.

      Item 42: Understand the two meanings of typename.      

      Item 43: Know how to access names in templatized base classes.

      Item 44: Factor parameter-independent code out of templates.

      Item 45: Use member function templates to accept "all compatible types."       

      Item 46: Define non-member functions inside templates

                hen type conversions are desired. 

      Item 47: Use traits classes for information about types.     

      Item 48: Be aware of template metaprogramming.          

    Chapter 8: Customizing new and delete                

      Item 49: Understand the behavior of the new-handler.          

      Item 5o: Understand when it makes sense to replace new and delete.   

      Item 51: Adhere to convention when writing new and delete.        

      Item 52: Write placement delete if you write placement new.       

    Chapter 9: Miscellany                  

      Item 53: Pay attention to compiler warnings.             

      Item 54: Familiarize yourself with the standard library, including TR1.           

      Item 55: Familiarize yourself with Boost.                     

    Appendix A: Beyond Effective C++ 273

    Appendix B: Item Mappings Between Second  and Third Editions 

    Index
查看详情
相关图书 / 更多
Effective C++ Third Edition
EffectiveTeamwork:PracticalLessonsfromOrganizationalResearch
Michael A. West 著
Effective C++ Third Edition
Effective数据科学基础设施
[芬兰]维莱·图洛斯(Ville Tuulos)著 郭涛 译
Effective C++ Third Edition
Effective TypeScript:精进TypeScript代码的62个实践方法
[美]丹·范德卡姆(Dan Vanderkam);王瑞鹏;董强
Effective C++ Third Edition
EffectiveLeadershipinAdventureProgramming
Simon Priest 著
Effective C++ Third Edition
Effective软件测试
[荷兰]毛里西奥·阿尼什(Maurício Aniche)著 朱少民 李洁 张元 译
Effective C++ Third Edition
Effective Python:编写高质量Python代码的90个有效方法(原书第2版)
[美]布雷特·斯拉特金(Brett Slatkin)
Effective C++ Third Edition
Effective C中文版
[美]罗伯特·C. 西科德(Robert C. Seacord)
Effective C++ Third Edition
Effective Python:改善Python程序的90个建议 (第2版)(英文版)
[美]Brett Slatkin(布雷特·斯莱特金)
Effective C++ Third Edition
EffectiveSupervision:SupportingtheArtandScienceofTeaching
Robert J. Marzano 著
Effective C++ Third Edition
EffectiveHelpingInterviewingandCounselingT
Barbara F. Okun、Ricki E. Kantrowitz 著
Effective C++ Third Edition
Effective Cybersecurity 中文版
[美]威廉·斯托林斯(William Stallings)
Effective C++ Third Edition
EffectiveWritinginPsychology
Bernard C. Beins、Agatha M. Beins 著