书名:Effective C++改善程序与设计的55个具体做法
作者:ScottMeyers
译者:云风
ISBN:9787121133763
出版社:电子工业出版社
出版时间:2011-6
格式:epub/mobi/azw3/pdf
页数:319
豆瓣评分: 9.4
书籍简介:
“c++程序员可以分成两类,读过effective c++的和没读过的。”世界顶级c++大师scott meyers这部成名之作,与这句话一道在全球无数读者间广为传颂。几乎所有c++书籍推荐名单上﹐《effective c++:改善程序与设计的55个具体做法:第3版》都会位列三甲。作者高超的技术把握力、独特的视角﹑诙谐轻松的写作风格﹑独具匠心的内容组织﹐都受到极大的推崇和仿效。 对于国外技术图书,选择翻译版还是影印版,常让人陷入两难。本评注版力邀国内资深专家执笔,在英文原著基础上增加中文点评与注释,旨在融合二者之长,既保留经典的原创文字与味道,又以先行者的学研心得与实践感悟,对读者阅读与学习加以点拨、指明捷径。 经过评注的版本,更值得反复阅读与体会。希望这《effective c++:改善程序与设计的55个具体做法:第3版》能够帮助您跨越c++的重重险阻,领略高处才有的壮美风光,做一个成功而快乐的c++程序员。
作者简介:
Scott Meyers是全世界最知名的C++软件开发专家之一。他是畅销书《Effective C++》系列(Effective C++,More Effective C++,Effective STL)的作者,又是创新产品《Effective C++ CD》的设计者和作者,也是Addison-Wesley的“Effective Software Development Series”顾问编辑,以及《Software Development》杂志咨询板成员。他也为若干新公司的技术咨询板提供服务。Meyers于1993年自Brown大学获得计算机博士学位。
书友短评:
@ 邻家の打工人 原版电子版读了一半时入手了云风评注。我承认最初买这本书是冲着英文原版去的,阅读后发现云峰的评注起到了画龙点睛的效果 @ 忧郁家的猫头鹰 相当不错!不亏经典 @ dabo 好书 @ stdcloud c++程序员可以分成两类,读过effective c++的和没读过的。 @ 陈硕 云风的评注字字珠玑,非常值得一读。 @ 懒猫 英文版,注释不评价,印刷封面纸质没以前版本好。 @ 里白 自己多读大神代码,多写代码比这样的书有效多了 @ Mike 【2017.09.26】期待云风的评注。于是挑着看了完了云风的评注… @ 初九 好早之前就读完了,忘了更新了??? @ buku 读了,但没什么理解,真的要深入 C++ 的话这书要二刷
introduction(新增批注共2条) 1
chapter 1: accustoming yourself to c++
(新增批注共12条) 11
item 1: view c++ as a federation of languages. 11
item 2: prefer consts, enums, and inlines to #defines. 14
item 3: use const whenever possible. 19
item 4: make sure that objects are initialized before they’re used. 28
chapter 2: constructors, destructors, and assignment
operators(新增批注共9条) 37
item 5: know what functions c++ silently writes and calls. 37
item 6: explicitly disallow the use of compiler-generated functions
you do not want. 41
item 7: declare destructors virtual in polymorphic base classes. 43
item 8: prevent exceptions from leaving destructors. 49
item 9: never call virtual functions during construction or destruction. 53
item 10: have assignment operators return a reference to *this. 57
item 11: handle assignment to self in operator=. 58
item 12: copy all parts of an object. 62
chapter 3: resource management(新增批注共7条) 66
.item 13: use objects to manage resources. 66
item 14: think carefully about copying behavior in resource-managing classes. 71
item 15: provide access to raw resources in resource-managing classes. 74
item 16: use the same form in corresponding uses of new and delete. 78
item 17: store newed objects in smart pointers in standalone statements. 80
chapter 4: designs and declarations(新增批注共28条) 83
item 18: make interfaces easy to use correctly and hard to use incorrectly. 83
item 19: treat class design as type design. 89
item 20: prefer pass-by-reference-to-const to pass-by-value. 91
item 21: don’t try to return a reference when you must return an object. 96
item 22: declare data members private. 101
item 23: prefer non-member non-friend functions to member functions. 105
item 24: declare non-member functions when type conversions should
apply to all parameters. 109
item 25: consider support for a non-throwing swap. 113
chapter 5: implementations(新增批注共42条) 122
item 26: postpone variable definitions as long as possible. 122
item 27: minimize casting. 125
item 28: avoid returning “handles” to object internals. 133
item 29: strive for exception-safe code. 137
item 30: understand the ins and outs of inlining. 146
item 31: minimize compilation dependencies between files. 152
chapter 6: inheritance and object-oriented design
(新增批注共39条) 162
item 32: make sure public inheritance models “is-a.” 163
item 33: avoid hiding inherited names. 169
item 34: differentiate between inheritance of interface and inheritance of
implementation. 174
item 35: consider alternatives to virtual functions. 183
item 36: never redefine an inherited non-virtual function. 192
item 37: never redefine a function’s inherited default parameter value. 194
item 38: model “has-a” or is-implemented-in-terms-of” through composition. 198
item 39: use private inheritance judiciously. 201
item 40: use multiple inheritance judiciously. 207
chapter 7: templates and generic
programming(新增批注共28条) 215
item 41: understand implicit interfaces and compile-time polymorphism. 216
item 42: understand the two meanings of typename. 220
item 43: know how to access names in templatized base classes. 225
item 44: factor parameter-independent code out of templates. 230
item 45: use member function templates to accept “all compatible types.” 235
item 46: define non-member functions inside templates when type
conversions are desired. 240
item 47: use traits classes for information about types. 245
item 48: be aware of template metaprogramming. 251
chapter 8: customizing new and delete
(新增批注共17条) 258
item 49: understand the behavior of the new-handler. 259
item 50: understand when it makes sense to replace new and delete. 267
item 51: adhere to convention when writing new and delete. 272
item 52: write placement delete if you write placement new. 276
chapter 9: miscellany(新增批注共8条) 283
item 53: pay attention to compiler warnings. 283
item 54: familiarize yourself with the standard library, including tr1. 284
item 55: familiarize yourself with boost. 290
appendix a: beyond effective c++ 295
appendix b: item mappings between second
and third editions 299
index 302
· · · · · ·
添加微信公众号:好书天下获取
评论前必须登录!
注册