Foreword

I first heard about Chuck when his bit handling classes, bitset and bitstring, were accepted into the standard C++ library in March 1993 (bitstring was later absorbed when the STL was added). While I myself did add a couple of tiny bits to the C++ standard here and there, the idea of successfully running an entire class through the terrible gauntlet of the ANSI/ISO C++ committee (on which we were both participants, so we knew) impressed me greatly.
 
But in the world of computers, which is so full of overstatement that I must ironically rely on my intuition rather than my intellect to discern truth, what impresses me more is someone who can explain things in a simple, clear and non-overblown way. That is, a great teacher. Chuck is a great teacher. You can see it in the activities he finds himself compelled to do: writing, teaching, editing, explaining. When I find someone like this - and I know for sure when I see them speak to an audience - I convince them to speak at the Software Development (SD) conference (where I chair the C++ and Java tracks). Chuck has become a regular fixture at the conference, satisfying audiences on both coasts.
 
At the last SD conference (Fall 1997 in Washington DC), it was Chuck's birthday, and when we found this out a group of us took him out to dinner. It was only after we were finally seated that I looked around and realized we were all authors: Bjarne Stroustrup (creator of C++ and author of "The C++ Programming Language"), Dan Saks (C++ columnist, speaker, consultant and long-time secretary of the ANSI/ISO C++ Committee), Bobby Schmidt (CUJ columnist, speaker), Marco Cantu (author of the "Mastering Delphi" books as well as C++ books), Tim Gooch (editor of the Cobb Group publications on C++ and now Java), and myself. These are the folks who respect Chuck enough to buy him dinner.
 
There are, of course, lots of "introduction to C++" books. Sometimes I feel like I keep trying to write a book on that subject over and over (my - I hope - final effort was "Thinking in C++"). But what happens when you've understood the basics and you want more depth? Books exist, but they can often be written in the tongue of the experts (a language that leaves me gasping) or they cover topics that are too esoteric or advanced. This book provides a bridge to the world of advanced topics; it gives you what you need but it won't overwhelm you in the process.

Chuck has made his book both clear and accurate, and accuracy is something else I'm exceptionally fond of. When a book has too many flaws I grow tired of it (in the early days we had to put up with such things, but now there are enough carefully-created C++ books that there's no reason to waste your time). Another thing I like a lot about this book is the brevity of the chapters, and the way each one is focused on a single topic, so I can pick it up and get an entire concept at once (I have a somewhat short attention span). This is a book that you will enjoy over time as it hands you one insight after another.
 
Bruce Eckel
http://www.EckelObjects.com
October 1997