Abstract: More practical rules for C++ professionals.
Keywords: book review, programming, C++ computer program language, style, smart pointers, references, operators, exceptions, lazy evaluation, virtual base classes, RTTI.
book cover
Title: More Effective C++: Thirty-Five New Ways to Improve Your Programs and Designs
Author: Scott Meyers
Publisher: Addison-Wesley
Date Published: December 1995
ISBN: 020163371X
LOCN: QA76.73.C153M495 1996
Dewey: 005.13/3 20
Pages: 318
Bibliography: 13
Figures: 34
Click below to buy the book
[Book price/availability varies]
Buy from Amazon



REVIEW by Orville R. Weyrich, Jr.

This book and its companion, Effective C++ , contain a wealth of intermediate to advanced advice on C++ program design and coding, which is useful both as a learning tool and as a code review checklist.




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 &&, ||, or ,

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: 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


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

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.
Functional Diagnostic Medicine banner ad
For more information, see: The CSI Report and Video and Become a New Patient Magnet

Copyright © 1998     Orville R. Weyrich, Jr.