Book Review - C++ Primer (4th Edition)
I really need to learn C++ some day, and I received a review copy of C++ Primer (4th Edition) by Stanley B. Lippman, Josee Lajoie, and Barbara E. Moo. If you're comfortable with lots of text, plenty of detail, and a more academic style of learning, this appears to be a good choice...
Preface; Getting Started
Part 1 - The Basics: Variables and Basic Types; Library Types; Arrays and Pointers; Expressions; Statements; Functions; The IO Library
Part 2 - Containers and Algorithms: Sequential Containers; Associative Containers; Generic Algorithms;
Part 3 - Classes and Data Abstractions: Classes; Copy Control; Overloaded Operations and Conversions
Part 4 - Object-Oriented and Generic Programming: Object-Oriented Programming; Templates and Generic Programming
Part 5 - Advanced Topics: Tools for Large Programs; Specialized Tools and Techniques; The Library; Index
As you can probably tell, this book covers quite an array (no pun intended) of topics related to learning C++. And knowing that it's now in its 4th edition, it has a track record that is solid enough to allocate resources for both the publisher and authors to keep it updated and fresh. In the tech book world, two editions of a book is commendable. Four is not often seen, so you can trust that the others who have gone before you have fared well.
Each chapter is sprinkled with exercises to drive home the material being covered, as well as a summary and glossary of new terms at the end of each chapter. In many ways, it reminds me of a textbook approach to learning a new language or technology. I can imagine the teacher lecturing from chapter 4 and then assigning exercises 2, 4, and 5. Unlike books that assume little programming background, this volume doesn't try and step you through setting up an IDE or anything. It covers C++... you need to get the IDE set up on your own. Don't assume much in the way of handholding.
To me, this would be a good "geek-level" book if you wanted to learn the language. No fluff, no laughs, just learning. Probably best for someone who already has a background with technology. If you're more in the camp of C++ being your first language to learn (you're braver than I am!), this might be too much and too hardcore.
Of course, your mileage may vary...