A collection of magazine articles and columns that shows signs of being put together without much care. Articles are lifted straight out of C++ Report and sometimes refer to previous or subsequent articles without any indication of where or whether they can be found in the book. Proofreading is poor; layout is lazy; some figures have come out wrong or illegible (see the articles on the Composite pattern - and why were these articles not edited together into one coherent whole?). As a reprint of selected articles it is quite useful - most people will find one or two of interest - but for this price I would have expected the articles to be edited to make them stand up better as book chapters. There are plenty of articles on C++ available on the web for free - including at least one of the articles reprinted in "C++ Gems". One for completists only.
C++ has reached maturity and still doesn't know exactly what it wants to be. This makes C++ both difficult and rewarding. One can approach C++ as a medium for expressing programs, but the richer rewards come when C++ is approached as a medium for expressing design.
C++ Gems is an admirable collection of papers by masters of the art of balancing design against pragmatism. For those who want a comforting guiding voice, Koenig's "Ruminations on C++" is probably a better choice. But for those who want to cut a wide swath over all that C++ offers, at the level where each advance poses as poses as many problems as it solves, C++ Gems is hard to beat.
This book is excellent for a beginner and part time programmer. I especially appriciate the index, which I use frequently during programming to find out how it really works! The book covers the essential parts in c++ with a very good depth. This is the ONE book to use as handbook during c++ development to find out how c++ really works. I sometimes miss some more good examples to describe commands idears etc. Some programming experience and OO thinking is necessary to get the most out of the book.