29 Dec 2006

Effective C++, More Effective C++, Effective STL

I will give you the conclusion first: if you are serious about C++, buy these books. Then read them cover to cover. Then keep them close by.

Scott Meyers is a wonderful author, both entertaining and informative. He can take a complex topic - some obscure and irrational behaviour of the C++ language - and tell you why it is the way it is, what to watch out for, and what code to write. And it will not even feel like hard work.

The items are written in cookbook style, reasonably well self-contained, though I highly recommend reading all of them - I am sure you will discover something you did not realize.

The first book, Effective C++ contains 50 items. The second book has only 35 items, yet is thicker. The topics here are a bit more advanced, though still things you need to know if you are coding C++ professionally.

The third book, Effective STL has 50 items. Though not quite as good as the first two books it is the best STL book I know of. You should certainly not try and use the STL unless you have read this book. In particular the discussion of equality versus equivalence is enlightening.

Why do I say not quite as good? Tricky. I suspect it is to do with the nature of the STL: I wanted there to be an even easier way, an even simpler explanation.

Note: this review is based on the 2nd edition of Effective C++; there is now a 3rd edition.

Buy this book at Amazon UK here or at Amazon Japan here.