About the Book
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.
Herb Sutter, herbsutter.com
C++11 was a major update for the language. With all the modern features like lambdas, constexpr, variadic templates, threading, range based for loops, smart pointers and many more powerful elements, it was enormous progress for the language. Even now, in 2018, lots of teams struggle to modernise their projects to leverage all the modern features. Later there was a minor update - C++14, which improved some things from the previous standard and added a few smaller elements. With C++17 we got a lot of mixed emotions.
Although C++17 is not as big as C++11, it's larger than C++14. Everyone expected modules, co-routines, concepts and other powerful features, but it wasn't possible to prepare everything on time.
Is C++17 weak?
Far from it! And this book will show you why!
I spent hundreds of hours investigating how the new things work in order to make a nice and practical book for you. The book will not only save your time but also will guide you through all the nuances of the language.
The book brings you exclusive content about C++17 and draws from the experience of many articles that have appeared on bfilipek.com. The chapters were rewritten from the ground-up and updated with the latest information. All of that equipped with lots of new examples and practical tips. Additionally, the book provides insight into the current implementation status, compiler support, performance issues and other relevant knowledge to boost your current projects.
If you know a bit of C++11/14 and you want to move forward into the latest C++ standard, then this book is for you.
Here are the features you'll learn:
Part One: C++17 Language features
- Fixes and deprecation
- Language clarification
- General language features
Part Two: C++17 The Standard Library
- String Conversions
- String Matching & Searchers
- Parallel STL
- Other Changes
Part Three: More Examples and Use Cases
- Refactoring with std::optional
- Using if constexpr
- Using [[nodiscard]] attribute
- How to parallelise applications
"C++17 In Detail" appeared in the Visual C++ Team Blog as suggested books for learning C++17!
Have a look: Books on C++17
Review @CppDepend Blog https://cppdepend.com/blog/?p=1180
Here's also a book page at Goodreads: C++17 In Detail @Goodreads
I optimized this book for a PDF reading experience, but other ebook formats should also look good. If you have any issues with the copies, let me know and I'll try to update the formatting.
About the Author
Bartłomiej Filipek is a C++ software developer with more than 11 years of professional experience, MVP and C++ ISO Member. In 2010 he graduated from Jagiellonian University in Cracow with a Masters Degree in Computer Science.
Bartek currently works at Xara, where he develops features for advanced document editors. He also has experience with desktop graphics applications, game development, large-scale systems for aviation, writing graphics drivers and even biofeedback. In the past, Bartek has also taught programming (mostly game and graphics programming courses) at local universities in Cracow.
Since 2011 Bartek has been regularly blogging at his personal website: bfilipek.com. In the early days the topic revolved around graphics programming, and now he focuses on Core C++. He's also a co-organizer of C++ User Group in Cracow.
Since October 2018, Bartek has been a C++ Expert for Polish National Body that works directly with ISO/IEC JTC 1/SC 22 (C++ Standard Committee).
In the same month, Bartek was also awarded by Microsoft and got his first MVP title for years 2019/2020 in the area of Developer Technologies.
In his spare time, he loves assembling trains and Lego with his little son. And he’s a collector of large Lego models.