内容简介 · · · · · ·
一些经过验证的用来改善程序效率的方法,包括检验C++语言特性所带来的时间和空间上的成本。
全面地描述了C++专家所使用的高级技术,包括placement new、virtual constructors、smart pointers、reference counting、proxy classes和double-dispatching等。
以实例说明异常处理带给C++类和函数的冲击。
介绍新的语言特性,包括bool、mutable、explicit、namespaces、成员模板、标准模板库等。如果你的编译器不支持这些特性,本书还介绍了如何不利用它们完成工作。
作者简介 · · · · · ·
Scott Meyers 拥有布朗大学计算机科学博士学位,是世界上最著名的C++软件开发权威之一。他的“Effective C++两卷本”(《Effective C++》和《More Effective C++》),开辟了技术图书写作的新风格。他曾担任《C++Report》杂志的专栏作家,经常为《C/C++Users Journal》和《Dr.Dobb's Journal》撰稿。
目录 · · · · · ·
AcknowledgmentsIntroductionBasics Item 1: Distinguish between pointers and references. Item 2: Prefer C++-style casts. Item 3: Never treat arrays polymorphically. Item 4: Avoid gratuitous default constructors.Operators Item 5: Be wary of user-defined conversion functions. Item 6: Distinguish between prefix and postfix forms of increment and decrement operators. Item 7: Never overload &&, II, or Item 8: Understand the differentmeanings of new and delete.Exceptions Item 9: Use destructors to prevent resource leaks. Item 10: Prevent resource leaks in constructors. Item 11: Prevent exceptions from leaving destructors. Item 12: Understand how throwing an exception differs from passing a parameter or calling a virtual function. Item 13: Catch exceptions by reference. Item 14: Use exception specifications judiciously. Item 15: Understand the costs of exception handling.Efficiency Item 16: Remember the 80-20 rule. Item 17: Consider using lazy evaluation. Item 18: Amortize the cost of expected computations. Item 19: Understand the origin of temporary objects. Item 20: Facilitate the return value optimization. Item 21: Overload to avoid implicit type conversions. Item 22: Consider using op= instead of stand-alone op. Item 23: Consider alternative libraries. Item 24: Understand the costs of virtual functions, multiple inheritance, virtual base classes, and RTrl.Techniques Item 25: Virtualizing constructors and non-member functions. Item 26: Limiting the number of objects of a class. Item 27: Requiring or prohibiting heap-based objects. Item 28: Smart pointers. Item 29: Reference counting. Item 30: Proxy classes. Item 31: Making functions virtual with respect to more than one objectMiscellany Item 32: Program in the future tense. Item 33: Make non-leaf classes abstract. Item 34: Understand how to combine C++ and C in the same program. Item 35: Familiarize yourself with the language standard.Recommended ReadingAn auto-ptr ImplementationGeneral IndexIndex of Example Classes, Functions, and Templates
AcknowledgmentsIntroductionBasics Item 1: Distinguish between pointers and references. Item 2: Prefer C++-style casts. Item 3: Never treat arrays polymorphically. Item 4: Avoid gratuitous default constructors.Operators Item 5: Be wary of user-defined conversion functions. Item 6: Distinguish between prefix and postfix forms of increment and decrement operators. Item 7: Never overload &&, II, or Item 8: Understand the differentmeanings of new and delete.Exceptions Item 9: Use destructors to prevent resource leaks. Item 10: Prevent resource leaks in constructors. Item 11: Prevent exceptions from leaving destructors. Item 12: Understand how throwing an exception differs from passing a parameter or calling a virtual function. Item 13: Catch exceptions by reference. Item 14: Use exception specifications judiciously. Item 15: Understand the costs of exception handling.Efficiency Item 16: Remember the 80-20 rule. Item 17: Consider using lazy evaluation. Item 18: Amortize the cost of expected computations. Item 19: Understand the origin of temporary objects. Item 20: Facilitate the return value optimization. Item 21: Overload to avoid implicit type conversions. Item 22: Consider using op= instead of stand-alone op. Item 23: Consider alternative libraries. Item 24: Understand the costs of virtual functions, multiple inheritance, virtual base classes, and RTrl.Techniques Item 25: Virtualizing constructors and non-member functions. Item 26: Limiting the number of objects of a class. Item 27: Requiring or prohibiting heap-based objects. Item 28: Smart pointers. Item 29: Reference counting. Item 30: Proxy classes. Item 31: Making functions virtual with respect to more than one objectMiscellany Item 32: Program in the future tense. Item 33: Make non-leaf classes abstract. Item 34: Understand how to combine C++ and C in the same program. Item 35: Familiarize yourself with the language standard.Recommended ReadingAn auto-ptr ImplementationGeneral IndexIndex of Example Classes, Functions, and Templates
· · · · · · (收起)
· · · · · · (收起)
丛书信息
· · · · · ·
C++设计新思维(共14册),
这套丛书还有
《Accelerated C++》《Exceptional C++ Style》《STL高效编程》《Exceptional C++》《More Effective C++中文版》
等
。
喜欢读"More Effective C++"的人也喜欢 · · · · · ·
More Effective C++的书评 · · · · · · ( 全部 13 条 )
虽然有些过时,但仍值得拥有
本书写作于1996年,相比她的姊妹篇《Effective C++》(第一版1991年,第二版1997年,第三版2005年),本书没有后续的更新版本,距今已有十六年之遥,因而内容显得有些过时。 本书内容的技术深度相对于《Effective C++》确实如书名所说更深一层,尤其是在第五章详细演示的各种...
(展开)
读 S. Meyers 之 《More Effective C++:35个改编程与设计的有效方法》
S. Meyers, 侯捷. More Effective C++:35个改编程与设计的有效方法. ISBN: 978-7-121-12570-6 这本书的作者就是上次介绍的 S. Meyers,这本书也就是上次介绍的 Effective C++ 的续集。其实这两本书本可以写在一起,但作者还是把他认为比较“高级”的部分独立出来写了两本书。...
(展开)
延续了上一作的高质量
这本more effective c++延续了effective c++的高质量,侯捷老师的翻译同样也是很有味道。这本书从内容上来说讲的还是细致入微,给人以很不错的阅读体验,但是读过了effective c++和more effective c++之后自己越发察觉到了书本知识和编程能力之间转化的鸿沟。 这种best pract...
(展开)
> 更多书评 13篇
论坛 · · · · · ·
在这本书的论坛里发言这本书的其他版本 · · · · · · ( 全部6 )
-
中国电力出版社 (2003)8.9分 652人读过
-
电子工业出版社 (2011)9.1分 497人读过
-
Addison-Wesley Professional (1996)9.0分 515人读过
-
机械工业出版社 (2007)8.9分 80人读过
在哪儿借这本书 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
- 计算机书架 (yukinokaze)
- 程序员必读书单 (White)
- programming (友不广则见不博)
- T (dhcn)
- C/C++ (小幺)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有112人想读,手里有一本闲着?
订阅关于More Effective C++的评论:
feed: rss 2.0
0 有用 glibc 2012-08-08 22:38:58
确实表现出“More”字,但有些操作性感觉不强,可能是因为自己还是太弱了。。
0 有用 豆友1907570 2008-07-26 14:22:22
浮光掠影,需要再多看几遍
0 有用 Raul丁 2011-07-20 13:12:29
effective C++加强版!
1 有用 Lambda 2011-06-22 19:38:43
读起来挺有趣的,作者是个闷骚男
0 有用 小幺 2008-05-21 00:32:30
一些现今ubiquitous的技术之起源
0 有用 木子奇在浮世 2014-06-19 18:14:03
不错不错,就是年代有点久远
0 有用 lxhscx 2014-05-18 16:34:51
经典著作的高阶版,我尤其喜欢其中的技术一章。
0 有用 W·思维印记 2012-09-27 11:49:19
Reference Counting, class proxy讲得非常详细。Scott Meyers一步步改善实例代码以及优化结构,复杂的问题也能变得容易理解。
0 有用 curer 2012-09-23 22:27:39
这本书前前后后读了有1年吧. 当时感觉挺形而上学的.理论化太重,对我最大的价值在于,中英文对照的读,一边学习,一边记忆专业词汇: )
0 有用 YcdoiT 2012-08-25 16:52:05
前面写得挺好的。。 后面的一些技巧个人觉得不是很有必要。 c++是用来消磨时光的最佳语言。。 读这本书的孩子都是闲情雅致的喜欢这门语言。。