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
· · · · · · (
收起)
评分
☆☆☆☆☆
这本书我看过几遍了,只是看过,每次拿起来的时候发现自己还有不理解的地方。看书不止看书的页数,而是看书的内容,无所谓时间,自己理解就好。这种书该时常翻,好好看。 书的内容和书名很匹配,讲的是通过书中的条款,如何写出更高效的代码。书的内容值得这个标题。看这本书之...
评分
☆☆☆☆☆
本书写作于1996年,相比她的姊妹篇《Effective C++》(第一版1991年,第二版1997年,第三版2005年),本书没有后续的更新版本,距今已有十六年之遥,因而内容显得有些过时。 本书内容的技术深度相对于《Effective C++》确实如书名所说更深一层,尤其是在第五章详细演示的各种...
评分
☆☆☆☆☆
继 Effective C++ 之後,Scott Meyers 於 1996 推出这本「续集」。条款变得比较少,页数倒是多了一些,原因是这次选材比「第一集」更高阶,尤其是第五章。Meyers 将此章命名为技术(Techniques),并明白告诉你,其中都是一些 patterns,例如 virtual ctors、smart pointers、r...
评分
☆☆☆☆☆
断断续续,虎头蛇尾,把这书翻过一遍(除了附录..)。开始的时候,看得比较慢,都后边就有点浮躁。 有些内容在编程过程中也有体会,看书就是再复习一遍,再学个书上对这种情况的称呼。也有部分内容没遇到过,看了也没能有深刻的印象,以后有时间再翻翻吧。 看到智...
评分
☆☆☆☆☆
总体来说还是很不错的,Scott Meyers大师一贯的简洁、实用的建议。相比之前的《Effective C++》,这本的主题更加“高级”一些,换句话说对于普通程序员可能用户不如之前那本大。但还是很不错的,值得一读。越来越觉得好书需要读三遍才能真正吸收精华知识,粗略的算了一下,读一...