Essential reading for experienced developers who are determined to master the latest release of C++
Although C++ is often the language of choice from game programming to major commercial software applications, it is also one of the most difficult to master. With this no-nonsense book, you will learn to conquer the latest release of C++. The author deciphers little-known features of C++, shares detailed code examples that you can then plug into your own code, and reveals the significant changes to C++ that accompany the latest release. You'll discover how to design and build applications that solve real-world problems and then implement the solution using the full capabilities of the language. Appeals to experienced developers who are looking for a higher level of learning Packed with best practices for programming, testing, and debugging applications, this book is vital for taking your C++ skills to the next level.
Just a basic/intermediate level textbook. Unsuitable for people wanting to learn the language as it doesn't contain exercises. Not at all at the level of "experienced developers", containing no tips or tricks that you can't find in the excellent reference work The C++ Programming Language by Stroustrup. To make matters worse, this book keeps repeating that it will learn you how to code C++ professionally, continuously reminding you how it is actually wasting your time if you already know the C++ basics+.
For me, this book is one of the best books written for C++. It is designed for intermediate+ programmers and contains much information about how to write code and some helpful tips. I think that author should have explained more some examples, but this is not a problem. Love it! Edit: Reading the last version, still love this book and it contains even more examples with good explanation.
"Professional C++" by Marc Gregoire is an outstanding resource for developers looking to master modern C++. The book covers key topics like best practices, advanced templates, and effective use of the STL, with a strong focus on C++11 through C++20. The explanations are clear, and the practical examples are plentiful, offering valuable insights that can directly benefit real-world work. I particularly appreciated the sections on performance optimization, debugging, and multi-threading, which have already improved my code. While some chapters are dense and may overwhelm beginners, experienced developers will find it invaluable. This is a must-have reference for anyone serious about leveraging the full power of C++.
The book as it sounds is very detailed and comprehensive. All details of cpp utilizations are talked deeply. However, I think a book that is aimed for teaching people something, if that’s the intention of this book, should try to make things as simple as possible and uses a variety of teaching techniques that most successful self learning books utilize. Although the content is great and valuable, it’s a bit hard to learn and progress. It seems the author has paid a lot attention to present a comprehensive and “right” material, but not that much to how to present them to make learning and using them easier not more complex.
"This is another example of C++ arcane syntax" is a direct quote from the book. And a perfect segway for me to speak about how I'm not impressed by C++. It seems there is something called POLA, although I call it least surprise principle. For me, if Ruby is in one extreme (Ruby doesn't surprise, you often can try something and it will work logically), C++ is in the other extreme (always edge cases). I might end up using C++ but I don't like it.
So before commenting on the book, I needed to try to erase my feelings for the language and try to focus on the book.
And I read it until the end, so that I could write my honest opinion.
So I will. I set 3 stars, because 2 stars seemed harsh. But at over 1100 pages plus apendixes, you would expect more. And IMO, you only get a list of features, edge cases, surprisingly a lot about software engineering in general. Do I really want to read about waterfall/spiral models in a 2021 C++ book? Do I need to read about MVC and not in the context of C++ applying design patterns?.
And poor examples. The only running theme is the Spreadsheet Cell, Grid and so on and it is poor. The other examples are mostly Foo/Bar. Or even something along the lines "you would usually do this in this other way but then my example wouldn't make sense".
Again IMO, you don't get a coherent explaining of the language. This setup might be useful as a refence, but not as a tool to really get the language.
Final straw. Try to look for explicit in the index. And get page 438. Which is in the context of templates, not in the usual explicit for constructors. Not even the index.
I read 5th version(2021). First 70-80% of the book is 5 star. Good topics with good examples. Best content I've ever read on C++. Reminds me of Scott Meyers style, it's a pleasure to read/study. Last 30-20% is more about some abstract or advanced topics. But it feels like the author was unable to decide, did he want to cover the topic decently or just say a few things about it in general and give some links to more advanced literature. Seems like he stuck in between, so sometimes it was hard/boring to read, but still worth it. Overall this is a good comprehensive book. I learned a lot from it.
People have billed C++11 as a completely new language. If it is, then this book made it seem like it was the same old language that I knew way back in the day, with some extra sauce.
Incidentally, it made C/C++ seem a whole heck of a lot easier than I remember it being.
I wouldn't recommend anyone to read it cover to cover (like I did)... but it works well as a reference for basic, intermediate and advanced concepts. //
Looks like some of the stuff is pretty basic, but it's difficult to draw a clear line between what any individual reader would or would not be interested in.
So far, looks like it'll be helpful for getting me back into C++.
Very good as a second book in C++. Not suitable for absolute beginners, but will be so useful if you are ready know the language basics and you wanna get a grasp of intermediate level program design using C++ features, covers C++11 as so well.