Rating:  Summary: A great reference Review: I find this book to be a great reference. Anytime I want the answer to an obscure question I look it up in my C++ FAQ's book. Not only does it have the answer I am looking for, but also a lot of advice and cross references to other related questions, answers, and advice. You will find in depth discussions of strange language issues such as placement new, calling destructers without deleting an object, having a default implementation for a pure virtual function, making a function pointer that points to a non-static class member function, and all kinds of other advanced topics not covered in your average C++ book. I am willing to bet most experienced C++ programmers don't know about many of these issues. Of course, all the basics are covered as well. You can learn just about everything about C++ by reading this book from cover to cover.
Rating:  Summary: Very good indeed. Review: I haven't read the second edition, but the first stands out in memory as perhaps the best book I have read on source-level methodology and design given a rich set of language machinery such as that of C++.Even though these days I write Java and JavaScript, I find many of the concepts and methods have carried over rather nicely, and I am glad once again for having read that book.
Rating:  Summary: For the Beginning C++ Programmer Review: I recommend this book who is learning C++. I went to it often looking for answers. This helps the beginner understand how C++ works and why. Very good book...
Rating:  Summary: For the Beginning C++ Programmer Review: I recommend this book who is learning C++. I went to it often looking for answers. This helps the beginner understand how C++ works and why. Very good book...
Rating:  Summary: An excellent humorous book that answers the right questions. Review: I think that the two best things about the book are: a) There is a great emphasis on programming the right way. You can learn a lot about the right way to write a program as a programmer, taking in mind the future users of your program. b) The answers are in a simple to understand and humorous language. Even though the answers are in such a manner you recieve a great deal of information about how the compiler "thinks" and works - what makes this book more interesting than any other text book. I truly recommend it as a 'must to have' for every programmer in C++.
Rating:  Summary: Redundant, and Littered with Some REALLY Bad Practices Review: I was suggested this book years ago by a university lecturer, however, even though I'm glad I read it, I'm glad simply so I can highlight its pitfalls to others I see reading it.
Firstly, all the way through the book the authors systematically promote the usage of exception specifications. Exception specifications are all well and good when you can guarantee the exceptions that will be thrown from subsequent nested calls or operations, but to teach this behaviour to potentially novice coders, who may not be aware that a particular implementation of operator[] may throw something other than out_of_range is terrible. What's worse, it does it all the way through the book. It also does not highlight the consequences of not handling an exception of a different type. It's C++, not Java. (And, some development environments don't support exception specifications anyway, so much confusion would ensue when code suddenly breaks on a different platform/compiler)
Also, I take exception (groan) to the promotion of "using namespace std". This completely wipes out the point of namespaces, whereby it would have been better (to keep the code examples "clean") to import just the required elements of std, rather than the entire library.
I also don't like the mixed practice of using streams, and then littering strings with escape sequences - the std library defines new line characters (endl), and \n may not be the appropriate behaviour on some platforms.
A great majority of this book feels like it is a C++ guide written by C developers. There are parts that actually teach coders how to break elements of the standard (such as nothrow), rather than simply advocate the use of smart pointers instead. In this way it also pretty much ignores the entirety of the STL (which seems laudible considering the "covers... such major innovations as the C++ Standard Library" line on the back of the book), so readers remain completely oblivious to iterators etc - and also remain blissfully unaware of times when you really would find a functor (functionoid in this book) useful. Instead it harps on about technologies irrelevent to C++ itself - there are many other, better, sources on COM and CORBA, and these sections feel utterly out of place.
The intended target audience of this book is frankly bizarre. It doesn't suit novice programmers because of the techniques it promotes, and, for more advanced developers, is littered with basics such as explaining OO, classes and inheritance. There are also some really preachy parts that go down the software engineering route (Why is OO important to my organisation? etc). If I wanted some condescending essays on programming practice, I'd go and read Fred Brooks. All in all, it feels like a guide for those migrating from C to C++.
This book is out-of-date, teaches bad practice (in my opinion, obviously), and has no defined readership. Like one of the other reviewers here, I would recommend reading Meyer's Effective range of books instead.
Rating:  Summary: Best C++ book Review: If you already know the language, but want to learn how to use C++ to do OO, this is the best book I have read. Particularly strong on how to tame some of the wilder aspects of C++ and use them with discipline.
Rating:  Summary: Simply superb Review: The first edition was the best C++ book I have ever read. I used it until the binding cracked and then I replaced it. The 2nd edition is even better. You get the best use out of this book by reading the entire thing over time, one chapter at a time. The editorializing was particularly valuable to me.
Rating:  Summary: excellent survey of C++ topics Review: This book covers an extensive variety of C++ programs in sufficient depth to be useful for a professional programmer. It is a good reference and a good read straight-through if you want to be sure you're up on the current state of the C++ language. Plenty of illustrative examples. The authors, some of whom are mathematicians, write with unusual lucidity on topics where many technical writers start tripping over their gerunds.
Rating:  Summary: excellent survey of C++ topics Review: This book covers an extensive variety of C++ programs in sufficient depth to be useful for a professional programmer. It is a good reference and a good read straight-through if you want to be sure you're up on the current state of the C++ language. Plenty of illustrative examples. The authors, some of whom are mathematicians, write with unusual lucidity on topics where many technical writers start tripping over their gerunds.
|