Introduction
Basics
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 &&, ||, or ,
Item 8: Understand the different meanings 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: Understanding how throwing an exception differs from passing a parameter of 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 RTTI
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 object
Miscellany
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 Reading
An auto_ptr Implementation
Author: Meyers, Scott (Scott Douglas) Title: More effective C++ : 35 new ways to improve your programs and designs / Scott Meyers. Published: Reading, Mass. : Addison-Wesley Pub. Co., c1996. Description: xv, 318 p. ; 24 cm. Series: Addison-Wesley professional computing series LC Call No.: QA76.73.C153M495 1996 Dewey No.: 005.13/3 20 ISBN: 020163371X (paperback : alk. paper) Notes: Includes index. Subjects: C++ (Computer program language) Control No.: 95047354
I have taken this program and I highly recommend it to all health-care providers - Orville R. Weyrich, Jr PhD NMD. For more information, see: The CSI Report and Video and Become a New Patient Magnet |