Highly recommended.
I’ll get my few niggles over first. This is the paperback colour edition (it also exists in paperback monochrome and electronic versions). It has a matte cover which already has a few greasy streaks on if from my grubby fingers. A gloss cover (that doesn’t peel off as some do) would have been better. The index is a bit skimpy. There are a few minor errors and odd layout issues. Not enough to detract from the overall quality of the book. For a self-published book, this is quite a polished piece of work. The author and the reviewers did a good job.
It’s a fairly small book so I got through it in a reasonable amount of time. That’s always a bonus for the enjoyment and understanding. Having a good ‘flow’ means that Fertig got the right balance of information and detail. What it doesn’t have in excessive length it makes up for in density. The chapter on coroutines is quite difficult, especially as it’s a feature that I’ve never used in anger. The chapter on concepts slowly builds up and is quite challenging at times (at least for this low-meta bit-twiddling reviewer).
Overall, the layout is good with plenty of cross references between code and text. I won’t list all of the ‘and more’ chapters. There’s a thorough chapter on std::format
. I enjoyed the clear explanation on the ‘why’ of the spaceship operator.
At the end of the book I felt that I’d been given a clear and well explained overview of the new features in C++20.
Note: this review is for the 2021 edition. The web site https://andreasfertig.com/book says that there is now a second edition.
Website: https://leanpub.com/programming-with-cpp20
Code site: https://github.com/andreasfertig/programming-with-cpp20