Great book, full of useful advices on issues relevant to our
design. Explains state-of-the art techniques that we should use. Good
examples, with running code (I downloaded and installed for our
compiler the reference counted string
stuff from Item 29), and downloaded the updated auto_ptr source).
Erratas are available (I printed them and joined the listing to one
of our copies).
I specially recommend the use of reference counted pointers in
conjunction with STL (with conversions based on inheritance between
the template argument types). This is thus a construction built upon
several distinct items in the book. I wonder why Meyers did not make
this synthesis himself.
I'd wish to stress the importance of item 33. In my opinion, one
needs to use virtual inheritance in addition. This is
actually a matter of implementing item 32, and supporting future users
of the abstract classes, who will end up inheriting them multiply, yet
wish to implement the virtual members only once.
This is the long awaited follow up to _Effective C++_, and like
its predecessor, _More Effective C++_ is a terse, precise list of
explanations of things to make your C++ programs ... well, more
effective. Scott Meyers, a recognized authority on C++, has organized
"the 35 new ways" into six major sections: the Basics
(includes handy things to remember like "Never treat arrays
polymorphically"); the Operators "Understand the
different meanings of 'new' and 'delete'; the
Exceptions "Prevent resource leaks in
constructors"; Efficiency "Understand the cost of
virtual functions, multiple inheritance, virtual base classes and
RTTI"; Techniques "Proxy classes"; and
Miscellany "Make non-leaf classes abstract".
Meyers also includes an incredibly helpful
recommended reading section
-- excellent comments on each item are also mentioned here.