Full description not available
A**F
Decent, but largely redundant.
This is a 'much expanded' version of the famous on-line C++ FAQ which promises much more detail and material. Since I am trying to constantly prove that I do know C++ well, I picked this book during my C++ book buying craze. I did read this book and while it doesn't make any serious mistakes related to C++, I just don't feel this book is relevant.First of all, the authors have clearly not given any thought to what their target audience would be. The level of presentation swings wildly from absolute basics (What is a class?) to fairly advanced subjects. Just as I found too many elementary questions in the book, someone less prepared would be surprised by a number of "advanced" topics. While this is understandable for a free on-line document, it doesn't render well in a rather costly book. Same applies to the annoying 'New!' labels marking new or updated topics. Again, this makes sense in a frequently changing on-line document, but it looks ridiculous in a printed book.The C++ design and coding style presented feels fairly solid and in that sense I can recommend this book to anyone without fearing that it would teach him something objectionable. The authors do their best to stress the importance of interpretation of a base class as a contract and this is a good thing. However, there are still some questionable statements that I don't agree with:- In 9.02 the authors suggest using exceptions for error handling - all error handling. Whether it is a good thing or not is still a hotly debated topic and I would suggest to at least present the disadvantages of such an approach and alternative methods.- The authors routinely check the new operator result for NULL, which not only doesn't make much sense (per ANSI C++, new() doesn't return NULL if it cannot create an object) but also teaches a fairly bad technique.Now, imagine my surprise when, while reading a book on C++ (presumably C++ language), I ended up with a chapter on COM and then another one on CORBA. No matter how related this material may feel, it is still not C++-specific. This sudden addition feels like book padding and that aforementioned 'additional material' that was supposed to sway the users of the free version to purchase the printed book. Well, it seems to have had a completely opposite effect upon me.I fully understand the authors' desire to be rewarded for their creation (that is, the on-line C++ FAQ). However, this is not an excuse to produce a book which is essentially a rehashed version of the free material diluted with barely relevant topics. Bottom line: read the free on-line version and spend your money either on Stroustrup's "The C++ programming Language" (if you are a novice) or on Myers's "Effective C++" dilogy.
W**Z
Great book to help remember those little c++ gotchas!
This is a great book to have handy to refresh your C++ skills. I have taken a few C++ classes at university but nowadays code in Java for the most part. When faced with a project with C++, I thought this was a great book to have around. If you are learning C++ for the first time, maybe a bit too advanced and too little hand holding. If you want something you can quickly peek at while coding, this is a good title. If you are an advanced C++ coder, this book is not for you.If you are coming from another language and need to refresh your old C++ skills, this is the book to read and keep at your desk.
M**E
A surprisingly useful book
I ordered this book just planning to use it for review prior to interviews. Instead it has turned out to be one of the most useful C++ books I've read and I have read a lot of them. It is NOT a book to learn C++ from by any means but it is similar in content to the Scott Meyers books to a scattering of various ideas. A very valuable book.
I**N
Filled with good info and lots of corner cases
C++ FAQs is a great reference not only if you happen to have one of the frequently-asked questions, but also if you are interested in some of the more esoteric language features or want to learn about corner cases which could come up. Highly recommended if you work with the internals of compiler technology and want to handle various language features correctly.
D**D
Four Stars
Not a bad quick reference book. Can be used as a supplemental for project-based learning.
W**R
Five Stars
I love it.
M**X
Five Stars
Five stars.
R**S
Questions, questions? Answers, answers.
I always like to start any review of a technical book with the table of contents, and see no reason to break with that practice here:I PreliminariesIntroduction - Basic C++ Syntax and Semantics - Understanding the Management Perspective- The Architectural PerspectiveII Object-Oriented DesignObject-Oriented Fundamentals - Specification of Observable Behavior - Proper Inheritance - Detecting and Correcting Improper Inheritance - Error Handling Strategies - Testing StrategiesIII Language FacilitiesReferences ('&' type) - New and Delete - Inline Functions - Const Correctness - Namespaces - Using Static - Derived Classes - Access Control - Friend Classes and Friend Functions - Constructors and Destructors -Virtual Functions - Initialization Lists - Operator Overloading - Assignment Operators - Templates - Exception Tactics - Types and RTTI - ContainersIV TopicsMixing and Overloading with Inheritance - The Big Three (destructors, copy constructors, assignment operators) - Using Objects to Prevent Memory Leaks - Wild Pointers and Other Devilish Errors - High-Performance Software - COM and Active X - Transitioning to CORBA - C Language Considerations - Private and Protected Inheritance - Pointers to Member Functions - The Transition to OO and C++-I don't think there are any great C++ books. A great book would eliminate the need for others, which none that I've seen do. Even if not great, this is a good book, and worth reviewing. The book attempts to be two things: first, a programming style guide, and second, a nuts-and-bolts C++ reference book. (Incidentally, the cover is somewhat misleading: it also trumpets coverage of ActiveX, CORBA, and COM, but the material on them here is very thin - if you need to understand them, look elsewhere).As a programming style guide, it is rather a mixed bag. Its main weakness is a tendency towards salesmanship - that is, the authors are trying to sell you something and are therefore quite aggressive in discussing the merits of their wares and tend to be silent when discussing the weaknesses of them. A particular problem I could point out is the use of C++ in DLLs. If you follow the style guide in this book, and try to put your code into DLL's, you will find that you have some very serious versioning problems, problems the advice in this book was instrumental in creating but useless in alleviating. This doesn't mean that the advice isn't generally good, but there are issues here that the authors are not as frank as they should be in discussing. (I don't know why propaganda of this sort is so common in C++ books, but it is. I've never seen one without it.)Whatever it may be as a style guide, as a nuts and bolts problem solving book this is really very good. C++ is a large language - it is by far the largest, most complex language ever to find wide use, and there it contains many pitfalls. This book's great strength is in identifying many of these problem areas, and providing solutions to them. The discussion of object construction, copying, and destruction, alone, for example would make this book worth owning. The coverage is not, however, complete. Reader knowledge of language basics is assumed, and some advanced topics, such as multiple inheritance, are not covered. Because of this, you will not find this a good book for learning C++, nor should it be the only C++ book you own.That said, of all the C++ books I own, this is the one that most often contained the easiest to find, clearest, and best answer to the problems that I actually had when using (as opposed to learning) the language. The answers were generally easiest to find because of the extensive table of contents (it averages about one entry per page) and very complete index. In addition to being easy to find, the answers were also clearly written. There is a lot of sample code in this book, and it is generally very good code for teaching its points. The authors also clearly understand their stuff, and I did not find any of the dreadful this-is-too-technical-for-the-reader hand-waving that so often mars computer industry books. Finally, in addition to being clearly written, the answers were also usually the most complete and thorough I found among the C++ books I own - the problems the book addressed, it addressed very well.In summary, until and unless that great C++ book is ever written - and I'm not holding my breath - this is a book that almost any C++ developer would do well to have, limits and all.
A**R
Five Stars
Superb book, and very prompt delivery
P**O
Indispensable
Cette "boite à tooltips" doit être présent sur la table de chevet de tout développeur C++ digne de ce nom ;)
Trustpilot
1 month ago
3 weeks ago