Adam Petersen - Software Development Pages, Book Reviews Section
Start News Articles Book Reviews

Book Review

Effective C++ Third Edition
by Scott Meyers

ISBN: 0321334876
Publisher: Addision-Wesley Professional
Pages: 320

Shortly after I started to work professionally with C++, I read the previous edition of this book. Reading the book at that time saved me from many classic C++ pitfalls and it definitely improved my programming skills. Even though I consult the book from time to time and still consider the second edition as very valuable, a lot has changed in the C++ community since its publication.

So, what has been changed in Effective C++ to cover modern C++ programming? As it turns out: very much. Most notably, the number of items has grown from 50 to 55 and the rise of templates and generic programming has manifested itself in a chapter of its own. I also liked the material about exception safety, which has been updated with more recent idioms such as copy and swap.

But Meyers does not stop here. He takes the book into the next generation of standard C++ by making use of features in the TR1 proposed standard library (these features are available today through Boost).

Effective C++ has been considered a classic for a long time and this new edition is at least as valuable as the previous edition. The organization into different items makes it easy to find information quickly and the book serves well as a reference (each item can be read stand-alone). Scott Meyers writes in an entertaining way and makes complicated aspects of C++ easily accessible through concrete examples and interesting discussions.

In my opinion, and with regard to C++, this book is the most important one to read after an introductory course or book. Further, I believe that it is a good idea to scan through this material from time to time, even for experienced developers. After all, C++ is a complicated language and Effective C++ is a great collection of basic rules and language details. This book is invaluable for anyone working professionally in C++.

Reviewed July 2005

©2005 Adam Petersen