103 of 109 people found the following review helpful
Good Reference, But Some Mistakes,
Verified Purchase(What's this?)
This review is from: The C++ Programming Language, 4th Edition (Paperback)
I have had the Special Edition sitting on my shelf for the past 10 years. I have always relished it, just like K&R's "The C Programming Language". Even though I don't program in either language on a day-to-day basis, I find their contents invaluable examples of how to stay in-touch with the machine.
Bjarne went all out and rewrote a good bit of this book, reusing some examples from the previous editions. I have been seeing entirely new and revised examples for the most part. I particularly like how he broke up some of the longer chapters from previous editions into more manageable parts. My only disappointment with this book are the little mistakes. Someone familiar with C++ should understand the intent, but it may confuse some. This book adds a LOT of new content and reorganized a lot of the previous content, so mistakes are understandable.
This book makes an excellent reference. I have already used it extensively to upgrade a personal project to C++11. This has been essential for replacing Boost libraries with the new standard library. If you are trying to play catch-up (like myself) it's definitely worth it. It explains move semantics, variadic templates, the new memory model and many of the new language features.
As with previous editions, not only is a good book for learning C++... it teaches a lot about good programming in general.
Sort: Oldest first | Newest first
Showing 1-10 of 17 posts in this discussion
Initial post: Jun 9, 2013 10:22:12 AM PDT
Totally agree with this. I hope there would be an errata published soon. The examples given in this book are the most interesting ones compared with most of other C++ books (they are nontrivial, and demonstrate various programming techniques, instead of being just pedagogical to illustrate C++ syntax), but some subtle mistakes are quite puzzling for beginners (for example, the tag dispatch example, where "vector<decltype(*beg)>" is incorrect).
In reply to an earlier post on Jun 9, 2013 11:25:02 AM PDT
There are even simpler mistakes such as trying to assign an address to an int. I think this is the price of Bjarne breaking up some of the larger chapters into more manageable chunks. Copy and paste errors mostly. The grammatical errors are of the nature of him deciding to change his wording slightly and then not updating the rest of the surrounding sentence. Mistakes I used to make writing my blog back in the day.
In reply to an earlier post on Jun 11, 2013 7:02:41 AM PDT
Last edited by the author on Jun 11, 2013 7:08:19 AM PDT
What a surprise! Reading "special edition", I was looking for any typos intentionally.... and could not find any. Not a single one. Thanks for the warning, guys. I wanted to buy, but now... I do no know, because books like this you buy to refer to for a decade at least. Are there really many?
BTW you read like helicopters, it's been released only a couple of weeks ago!
In reply to an earlier post on Jun 11, 2013 7:11:09 AM PDT
I've been hitting this book really hard. I've been waiting for over a year for it to come out. I've been struggling to find a good introduction to the new language features and the standard library. There are already a lot of indications that C++14 is on its way. My guess is Bjarne will use that as an opportunity to fix the errors.
In reply to an earlier post on Jun 11, 2013 9:40:18 AM PDT
If I were you and I had a list of typos and errors, I would send to email@example.com
I think it would be appreciated.
In reply to an earlier post on Jun 11, 2013 10:10:41 AM PDT
Yes. I wish I had been keeping track, now.
In reply to an earlier post on Jun 11, 2013 3:16:58 PM PDT
Zachary Mason says:
I'm about a third of the way through the book and have a post-it note as a bookmark with all the errors I have caught so far. When I get to the end I will gladly send this to the author. I have noticed more grammatical errors than code errors so far, and most errors you can understand what was intended anyway.
In reply to an earlier post on Jun 13, 2013 10:06:47 AM PDT
J. Bielawski says:
C++14? No way, 2014 is just around the corner and most people haven't even started using C++11 constructs. My guess is realistically the next iteration will be 2020 or so.
In reply to an earlier post on Jun 13, 2013 10:37:47 AM PDT
Getting everything ready by 2014 is possible (unlike C++0x). GNU is already is C++11 feature complete (v4.8.1) and is already working on C++14. However, there are some wonky things involving a few standard classes not yet supporting move semantics, etc. I don't see anything on Bjarne's website indicating work on the next edition... it wouldn't be as big of an overhaul as the latest edition.
In reply to an earlier post on Jun 13, 2013 11:54:15 AM PDT
Amazon Customer says:
C++14 changes are not very big compared to C++11 changes - it's more about fixing things and shoring up C++11 than breaking new ground. They blessed VLAs (sort of), added boost optional, blessed binary numeric literals, odd & ends. I doubt BS would have to add 15 pages.