If you’ve ever asked “what’s in C++17 and what does it mean for me and my code?” — and
I hope you have — then this book is for you.
Now that the C++ standard is being released regularly every three years, one of the
challenges we have as a community is learning and absorbing the new features that are being
regularly added to the standard language and library. That means not only knowing what
those features are, but also how to use them effectively to solve problems. Bartlomiej Filipek
does a great job of this by not just listing the features, but explaining each of them with
examples, including a whole Part 3 of the book about how to apply key new C++17 features
to modernize and improve existing code — everything from upgrading enable_if to the
new if constexpr, to refactoring code by applying the new optional and variant
vocabulary types, to writing parallel code using the new standard parallel algorithms. In
each case, the result is cleaner code that’s often also significantly faster too.
The point of new features isn’t just to know about them for their own sake, but to know
about how they can let us express our intent more clearly and directly than ever in our
C++ code. That ability to directly “say what we mean” to express our intent, or to express
“what” we want to achieve rather than sometimes-tortuous details of “how” to achieve it
through indirect mechanisms, is the primary thing that determines how clean and writable
and readable — and correct — our code will be. For C++ programmers working on real-world
projects using reasonably up-to-date C++ compilers, C++17 is where it’s at in the industry
today for writing robust production code. Knowing what’s in C++17 and how to use it well is
an important tool that will elevate your day-to-day coding, and more likely than not reduce
your day-to-day maintenance and debugging chores.
If you’re one of the many who have enjoyed Barteks’s blog (bfilipek.com, frequently cited
at isocpp.org), you’ll certainly also enjoy this entertaining and informative book. And if you
haven’t enjoyed his blog yet, you should check it out too… and then enjoy the book.
2022-04-07 12:02:21
987KB
C++17
1