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
· · · · · · (
收起)
評分
☆☆☆☆☆
断断续续,虎头蛇尾,把这书翻过一遍(除了附录..)。开始的时候,看得比较慢,都后边就有点浮躁。 有些内容在编程过程中也有体会,看书就是再复习一遍,再学个书上对这种情况的称呼。也有部分内容没遇到过,看了也没能有深刻的印象,以后有时间再翻翻吧。 看到智...
評分
☆☆☆☆☆
侯捷喜欢的东西八成都是些匠气很足的东西; 应该去好好读The C++ language,从源头上知道大部分C++的feature都是怎么来的,应该怎么用; 看了这书只会对侯捷和此书作者佩服得一塌糊涂,但是编程水平什么的,提高不是很大。 有时间读这书不如看The C++ Language.
評分
☆☆☆☆☆
这本more effective c++延续了effective c++的高质量,侯捷老师的翻译同样也是很有味道。这本书从内容上来说讲的还是细致入微,给人以很不错的阅读体验,但是读过了effective c++和more effective c++之后自己越发察觉到了书本知识和编程能力之间转化的鸿沟。 这种best pract...
評分
☆☆☆☆☆
我刚读完 Effective C++ 后,不打算读这本 More 的。理由是想先在开发实践中贯彻一些 Effective C++ 中的最佳实践原则,在实践中消化、反馈和总结。 后来闲暇时,选择性地读了 More 的一些章节,感觉如获至宝,就有粗有细地通读下来。 对于两本书的比较,我的感觉是:Effective...
評分
☆☆☆☆☆
本书写作于1996年,相比她的姊妹篇《Effective C++》(第一版1991年,第二版1997年,第三版2005年),本书没有后续的更新版本,距今已有十六年之遥,因而内容显得有些过时。 本书内容的技术深度相对于《Effective C++》确实如书名所说更深一层,尤其是在第五章详细演示的各种...