With the standardization of C++17, which happened officially in December 2017, we, as C++ developers, got many features to write better code.
This book describes all significant changes in the language and the Standard Library. What's more, it provides a lot of practical examples so you can quickly apply the knowledge to your projects.
The book has its roots in the long series of articles published at my site: bfilipek.com. I started discovering C++17 a few months before it was officially published and I got more and more curious over the time. The content on the blog was growing, and I decided to make a single package of those articles.
Making the book was not so easy, though!
The initial compilation was quite weak, and I knew that to provide a valuable package for my readers I need to do more work. I rewrote each chapter of this book and reorganised them, so they contain the most relevant content. I’ve added tons of new code samples, with a better description and use cases.
I believe this book might give you a solid start into C++17.
Here are the features you’ll learn:
Part One: C++17 Language features
Part Two: C++17 The Standard Library
std::optional
std::variant
std::any
std::string_view
Part Three: More Examples and Use Cases
std::optional
if constexpr
[[nodiscard]]
attribute
The book contains now over 280 pages. I plan to rewrite a few more chapters and add some new pieces: especially with larger examples. The final version should have around 300 pages.
Plans for the final version:
C++17 in Detail is the ideal guide for C++ programmers who want to leverage on C++17 to write better code. The book shows the new features of the language under a practical angle, with copious details and code examples while still being accessible and easy to read. Bartlomiej Filipek's work is my go-to reference for C++17 features, and C++17 in Detail captures it all in one book.
With a new C++ standard delivering more features to an already complex language every 3 years, it is hard to keep track and easy to get lost. With his articles and this book, Bartek provides the much needed comprehensive view on not only what has changed, but also why it has changed and how we can use it to make our code more expressive. There's nothing left to wish for except that he can keep up with the committee and deliver a C++20 version in three years ;-)
C++17 in Detail is a whirlwind tour of the new and exciting features of the new C++17 ISO standard. Incubated from Bartek's excellent series of articles, his book properly organizes the topics and really goes into details when needed. Whether you're coming to modern C++ just now or you are a seasoned C++ developer and want to learn all the nitty-gritty of the new standard features, you'll find in this book amazing examples (minimalistic, yet practical) and explanations to help you along the way.