Write clean, fast, concurrent code with key features of C++ 14,17, and now 20.
Key Features
- Acquire knowledge of not only the features of modern C++ but also some of the best programming practices.
- Get a grasp of all the key features of C++2a, including modules, concepts, task blocks, transactional memory, ranges, coroutines, and more, in a single course.
- A practical guide to advance your skills along with new features of the latest C++ versions (14, 17, and 20) for creating better software with ease.
Book Description
C++ is a multi-paradigm language that lets you solve a problem in different ways, and this course will teach you the best practices.
Furthermore, C++ has been re-invented again. C++2a is the largest extension to the language since C++11, and it almost feels like a new language. Developers who master the new features will be able to write cleaner, faster and concurrent code. In this course, you will learn about the best practices of C++ programming, including project structure, designing interfaces and classes, C++ Core Guidelines, and the most recent language standard. The new features are numerous and cover almost every area of the language: modules let us organize our programs better; concepts help us create cleaner APIs; ranges forever change how we look at containers; concurrency features, such as coroutines, bring parallel and concurrent programming to a whole new level.
You will get plenty of practical experience with short, real-world code examples. By the end of this course, you will be ready to create better software using C++. Here are the links to the GitHub repo:
https://github.com/PacktPublishing/Multi-Paradigm-Programming-with-Modern-Cpp-daytime
https://github.com/PacktPublishing/Multi-Paradigm-Programming-with-Modern-Cpp-Examples
What you will learn
- Take your C++ skills to the next level
- Learn different programming styles
- Get hands-on experience with useful design patterns
- Know the little details that make great C++ programs
- Write safe and performant concurrent code
- Understand some of the most important C++ Core Guidelines
- Be among the first to learn and use modules, concepts, ranges, and coroutines
Who this book is for
If you are a C++ developer and want to upskill your C++ development skills, this is the course you. Working knowledge of C++, including selected features of C++11 (e. g. lambdas), is required. Knowledge of C++17 is not necessary, but it will make understanding of some aspects easier.