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
· · · · · · (
收起)
评分
☆☆☆☆☆这本书我看过几遍了,只是看过,每次拿起来的时候发现自己还有不理解的地方。看书不止看书的页数,而是看书的内容,无所谓时间,自己理解就好。这种书该时常翻,好好看。 书的内容和书名很匹配,讲的是通过书中的条款,如何写出更高效的代码。书的内容值得这个标题。看这本书之...
评分
☆☆☆☆☆我刚读完 Effective C++ 后,不打算读这本 More 的。理由是想先在开发实践中贯彻一些 Effective C++ 中的最佳实践原则,在实践中消化、反馈和总结。 后来闲暇时,选择性地读了 More 的一些章节,感觉如获至宝,就有粗有细地通读下来。 对于两本书的比较,我的感觉是:Effective...
评分
☆☆☆☆☆我刚读完 Effective C++ 后,不打算读这本 More 的。理由是想先在开发实践中贯彻一些 Effective C++ 中的最佳实践原则,在实践中消化、反馈和总结。 后来闲暇时,选择性地读了 More 的一些章节,感觉如获至宝,就有粗有细地通读下来。 对于两本书的比较,我的感觉是:Effective...
评分
☆☆☆☆☆Meyers两本effective C++系列都看过了。 两者相比,Effectiv C++应该算是基础篇,*More*这本则更注重工程实践方面,介绍C++的高级技术。里面提到的Reference Count,Virtual Construstor, Smart Pointer这些技术在大型的C++项目都很常见, 自己是配合着Google的Chromium看的...
评分
☆☆☆☆☆断断续续,虎头蛇尾,把这书翻过一遍(除了附录..)。开始的时候,看得比较慢,都后边就有点浮躁。 有些内容在编程过程中也有体会,看书就是再复习一遍,再学个书上对这种情况的称呼。也有部分内容没遇到过,看了也没能有深刻的印象,以后有时间再翻翻吧。 看到智...