3 of 3 people found the following review helpful
on 18 July 2006
This a largely an excellent book, let down by poor examples (would have been five stars if the authors had chosen one or two realistic projects and developed them from the ground up using the concepts in the book) and fairly erratic presentation of closely-related concepts. There is a lot of good detail here, and if you put the time in you will learn a great deal of important stuff. As a few other reviewers have mentioned, it would be just as well to have some kind of prior programming experience (Java perhaps, though you DO NOT need to know anything about C!). The book tries to veer away from the low-level fairly quickly, after a few (excellent) chapters on that kind of stuff (pointers etc) it delves into the realm of generic programming, OO concepts, templates etc. All in all, I would say this is best suited to someone who is reasoably comfortable with another language and programmming in general and wants to get a good in-depth grounding in C++
2 of 2 people found the following review helpful
on 28 May 2007
The defining feature of "C++ Primer" is the meticulous, logical presentation that leaves no room for confusion. Even more advanced concepts such as generic programming, copy control and operator overloading are presented in a simple, easy to follow fashion, and yet never over-simplified. Add "C++ FAQs" (Cline, Lomow, Girou) and you have an excellent self-learning bundle.
Some programming experience is assumed, and I wouldn't recommend this book as a first introduction to object-oriented languages either. The main reason for this book getting just four stars from me are that some important topics such as exceptions and static class members are glossed over, and that the code examples are a bit lacking.
If you are coming from a modern garbage-collected, object-oriented language such as Java, Python or Ruby and want a gentle introduction to the complexities of the older generation, this book is an excellent choice. Absolute beginners, and experts wishing learn every nook and cranny of C++ immediately should probably look for other options.