Title:
More effective C++ : 35 new ways to improve your programs and designs
Author:
Meyers, Scott (Scott Douglas)
ISBN:
9780201633719
Personal Author:
Publication Information:
Reading, Mass. : Addison-Wesley Pub. Co., c1996.
Physical Description:
xv, 318 p. ; 24 cm.
Series:
Addison-Wesley professional computing series
Series Title:
Addison-Wesley professional computing series
General Note:
Includes index.
Contents:
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 -- 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 &&, [actual symbol not reproducible] -- Item 8. Understand the different meanings of new and delete -- 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 -- 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 RTTI -- 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 object -- 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 -- An autop̲tr Implementation.
Subject Term: