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
Update!: The book is also available in print at Amazon: C++17 in Detail Paperback
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
Review @A Sawicki Blog: http://asawicki.info/news_1715_book_review_c17_in_detail.html
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 (Bartek) Filipek is a C++ software developer with more than 12 years of professional experience. In 2010 he graduated from Jagiellonian University in Cracow, Poland 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 bfilipek.com. Initially, the topics revolved around graphics programming, but now the blog focuses on core C++. He's also a co-organiser of the C++ User Group in Cracow. You can hear Bartek in one @CppCast episode where he talks about C++17, blogging and text processing.
Since October 2018, Bartek has been a C++ Expert for the Polish National Body which works directly with ISO/IEC JTC 1/SC 22 (C++ Standardisation Committee).
In the same month, Bartek was awarded his first MVP title for the years 2019/2020 by Microsoft.
In his spare time, he loves collecting and assembling Lego models with his little son.