Over 100 recipes to help you overcome your difficulties with C++ programming and gain a deeper understanding of the working of modern C++ About This Book • Explore the most important language and library features of C++17, including containers, algorithms, regular expressions, threads, and more, • Get going with unit testing frameworks Boost.Test, Google Test and Catch, • Extend your C++ knowledge and take your development skills to new heights by making your applications fast, robust, and scalable. Who This Book Is For If you want to overcome difficult phases of development with C++ and leverage its features using modern programming practices, then this book is for you. The book is designed for both experienced C++ programmers as well as people with strong knowledge of OOP concepts. What You Will Learn • Get to know about the new core language features and the problems they were intended to solve • Understand the standard support for threading and concurrency and know how to put them on work for daily basic tasks • Leverage C++'s features to get increased robustness and performance • Explore the widely-used testing frameworks for C++ and implement various useful patterns and idioms • Work with various types of strings and look at the various aspects of compilation • Explore functions and callable objects with a focus on modern features • Leverage the standard library and work with containers, algorithms, and iterators • Use regular expressions for find and replace string operations • Take advantage of the new filesystem library to work with files and directories • Use the new utility additions to the standard library to solve common problems developers encounter including string_view, any , optional and variant types In Detail C++ is one of the most widely used programming languages. Fast, efficient, and flexible, it is used to solve many problems. The latest versions of C++ have seen programmers change the way they code, giving up on the old-fashioned C-style programming and adopting modern C++ instead. Beginning with the modern language features, each recipe addresses a specific problem, with a discussion that explains the solution and offers insight into how it works. You will learn major concepts about the core programming language as well as common tasks faced while building a wide variety of software. You will learn about concepts such as concurrency, performance, meta-programming, lambda expressions, regular expressions, testing, and many more in the form of recipes. These recipes will ensure you can make your applications robust and fast. By the end of the book, you will understand the newer aspects of C++11/14/17 and will be able to overcome tasks that are time-consuming or would break your stride while developing. Style and approach This book follows a recipe-based approach, with examples that will empower you to implement the core programming language features and explore the newer aspects of C++.