Effective C++ / 3rd ed.

副标题:无

作   者:Scott Meyers著.

分类号:

ISBN:9787121008276

微信扫一扫,移动浏览光盘

简介

  有人说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++程序员。

目录

preface

acknowledgments

introduction.

chapter 1: accustoming yourself to c++

item 1: view c++ as a federation of languages.

item 2: prefer 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: constructors, destructors, and assignment operators

item 5: know what functions c++ silently writes and calls.

item 6: explicitly disallow the use of compilergenerated functions you do not want.

item 7: declare destructors virtual in polymorphic base classes.

item 8: prevent exceptions from leaving destructors.

item 9: never call virtual functions during construction or destruction.

item 10: have assignment operators return a reference to *this.

item 11: handle assignment to self in operator=.

item 12: copy all parts of an object.

chapter 3: resource management

item 13: use objects to manage resources.

item 14: think carefully about copying behavior in resource-managing classes.

.item 15: provide access to raw resources in resourcemanaging classes.

item 16: use the same form in corresponding uses of new and delete.

item 17: store newed objects in smart pointers in standalone statements.

chapter 4: designs and declarations

item 18: make interfaces easy to use correctly and hard to use incorrectly.

item 19: treat class design as type design.

item 20: prefer pass-by-reference-to-const to pass-by-value.

item 21: don't try to return a reference when you must return an object.

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 should apply to all parameters.

item 25: consider support for a non-throwing swap.

chapter 5: implementations..

item 26: postpone variable definitions as long as possible.

item 27: minimize casting.

item 98: avoid returning "handles" to object internals.

item 29: strive for exception-safe code.

item 30: understand the ins and outs of inlining.

item 31: minimize compilation dependencies between files.

chapter 6: inheritance and object-oriented design

item 32: make sure public inheritance models "is-a."

item 33: avoid hiding inherited names.

item 34: differentiate between inheritance of interface and inheritance of implementation.

item 35: consider alternatives to virtual functions.

item 36: never redefine an inherited non-virtual function.

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 when 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 50: 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++

appendix b: item mappings between second and third editions

index ...


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Effective C++ / 3rd ed.
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon