售价: ¥538.00
此商品不能使用“一键下单”
前翻 后翻
正在播放... 已暂停   您正在聆听的 Audible 音频版本的样品。
了解更多信息
查看全部 3 张图片

Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) (英语) 平装 – 2005年5月22日

平均 5.0 星 2 条商品评论
| 天天低价·正品质优
|
分享
广告

显示所有 格式和版本 隐藏其他格式和版本
亚马逊价格
全新品最低价 非全新品最低价
平装
¥538.00
¥538.00
 

click to open popover

无需Kindle设备,下载免费Kindle阅读软件,即可在您的手机、电脑及平板电脑上畅享阅读。

  • iPhone/iPad/Mac
  • Android手机或平板电脑

请输入您的手机号码,获取Kindle阅读软件的下载链接。



基本信息

  • 出版社: Addison-Wesley Professional; 3 (2005年5月22日)
  • 丛书名: Addison-Wesley Professional Computing Series
  • 平装: 320页
  • 语种: 英语
  • ISBN: 0321334876
  • 条形码: 0785342334876, 9780321334879
  • 商品尺寸: 18.8 x 2.3 x 23.1 cm
  • 商品重量: 535 g
  • ASIN: 0321334876
  • 用户评分: 平均 5.0 星 2 条商品评论
  • 亚马逊热销商品排名: 图书商品里排第530,648名 (查看图书商品销售排行榜)
  • 您想告诉我们您发现了更低的价格?

商品描述

作者简介

Scott Meyers is one of the world's foremost authorities on C++, providing training and consulting services to clients worldwide. He is the author of the best-selling Effective C++ series of books (Effective C++, More Effective C++, and Effective STL) and of the innovative Effective C++ CD. He is consulting editor for Addison Wesley's Effective Software Development Series and is a founding member of the Advisory Board for The C++ Source (http://www.artima.com/cppsource). He holds a Ph.D. in Computer Science from Brown University. His web site is http://www.aristeia.com.



目录

Preface  xv

Acknowledgments  xvii

Introduction  1

Chapter 1: Accustoming Yourself to C++  11

Item 1: View C++ as a federation of languages.  11

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

Item 3: Use const whenever possible.  17

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

Chapter 2: Constructors, Destructors, and Assignment Operators  34

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

Item 6: Explicitly disallow the use of compiler-generated functions you do not want.  37

Item 7: Declare destructors virtual in polymorphic base classes.  40

Item 8: Prevent exceptions from leaving destructors.  44

Item 9: Never call virtual functions during construction or destruction.  48

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

Item 11: Handle assignment to self in operator=.  53

Item 12: Copy all parts of an object.  57

Chapter 3: Resource Management  61

Item 13: Use objects to manage resources.  61

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

Item 15: Provide access to raw resources in resource-managing classes.  69

Item 16: Use the same form in corresponding uses of new and delete.  73

Item 17: Store newed objects in smart pointers in standalone statements.  75

Chapter 4: Designs and Declarations  78

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

Item 19: Treat class design as type design.  84

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

Item 21: Don’t try to return a reference when you must return an object.  90

Item 22: Declare data members private.  94

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

Item 24: Declare non-member functions when type conversions should apply to all parameters. 102

Item 25: Consider support for a non-throwing swap.  106

Chapter 5: Implementations  113

Item 26: Postpone variable definitions as long as possible.  113

Item 27: Minimize casting.  116

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

Item 29: Strive for exception-safe code.  127

Item 30: Understand the ins and outs of inlining.  134

Item 31: Minimize compilation dependencies between files.  140

Chapter 6: Inheritance and Object-Oriented Design  149

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

Item 33: Avoid hiding inherited names.  156

Item 34: Differentiate between inheritance of interface and inheritance of implementation.  161

Item 35: Consider alternatives to virtual functions.  169

Item 36: Never redefine an inherited non-virtual function.  178

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

Item 38: Model “has-a” or “is-implemented-in-terms-of” through composition.  184

Item 39: Use private inheritance judiciously.  187

Item 40: Use multiple inheritance judiciously.  192

Chapter 7: Templates and Generic Programming  199

Item 41: Understand implicit interfaces and compile-time polymorphism.  199

Item 42: Understand the two meanings of typename.  203

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

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

Item 45: Use member function templates to accept “all compatible types.”  218

Item 46: Define non-member functions inside templates when type conversions are desired.  222

Item 47: Use traits classes for information about types.  226

Item 48: Be aware of template metaprogramming.  233

Chapter 8: Customizing new and delete  239

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

Item 50: Understand when it makes sense to replace new and delete.  247

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

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

Chapter 9: Miscellany  262

Item 53: Pay attention to compiler warnings.  262

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

Item 55: Familiarize yourself with Boost.  269

Appendix A: Beyond Effective C++  273

Appendix B: Item Mappings Between Second and Third Editions  277

Index  280



买家评论

与其他买家分享您的想法
查看全部 2 条商品评论

热门买家评论

2015年5月8日
版本: 平装已确认购买
2013年11月11日
版本: 平装已确认购买

此商品在美国亚马逊上最有用的商品评论

美国亚马逊: 4.6 颗星,最多 5 颗星 132 条评论
Sean Richards
5.0 颗星,最多 5 颗星Good read
2015年12月23日 - 已在美国亚马逊上发表
版本: 平装已确认购买
6 个人发现此评论有用.
Lantana Al
5.0 颗星,最多 5 颗星Why learn this stuff the hard way?
2013年6月19日 - 已在美国亚马逊上发表
版本: 平装已确认购买
4 个人发现此评论有用.
Andrew Oliver
5.0 颗星,最多 5 颗星Best Book Out If You're Looking For An Advanced C++ Style Guide!
2013年3月14日 - 已在美国亚马逊上发表
版本: 平装已确认购买
4 个人发现此评论有用.
Ernest Clayton Cordell, Jr.
5.0 颗星,最多 5 颗星It is hard to address the role of this book.
2014年6月19日 - 已在美国亚马逊上发表
版本: 平装已确认购买
3 个人发现此评论有用.