Learn the latest features of C++23 with Modern C++ 23 QuickStart Pro, the perfect book for experienced developers who want to expand their knowledge and skills. This book takes a hands-on approach, providing rapid learning through real-world examples and scenarios that address complex programming challenges in C++.
The book begins by demonstrating the power of variadic templates and how to use them for dynamic function signatures. After becoming familiar with fold expressions for argument handling, you will then explore std:: tuple and std:: variant for handling heterogeneous data. The book then covers advanced function morphing with parameter packs and shape-shifting lambdas, as well as dynamic programming techniques. It also teaches complex function overloading and high-level thread orchestration using futures, promises, and callables. Next, we'll go over some low-level IO operations, such as controlling IO streams, efficiently handling file descriptors, and directly manipulating files.
You will then learn how to optimize memory management with shared, unique, and weak pointers, and how to engineer memory performance with custom allocators and cache-aware programming. You will learn advanced synchronization, including atomic operations, mutexes, locks, and thread pools, as well as lock-free data structures for peak performance. In addition, this book covers optimal integer and floating-point operations, arbitrary precision arithmetic, precise rounding with fixed-point arithmetic, and high-performance computation using math constant integration.
Key LearningsUtilize C++23 variadic templates for dynamic function signatures.
Use fold expressions to simplify complex function operations and argument handling.
Manage heterogeneous data in high-performance applications with std:: tuple and std:: variant.
Use parameter packs and perfect forwarding to create flexible function signatures.
Use shape-shifting lambdas for flexible argument patterns.
Master file manipulation and stream management to create efficient low-level IO systems.
Customize memory management with unique, shared, and weak pointers to control resources.
Boost parallel processing with mutexes, locks, and thread pools.
Create lock-free data structures to reduce locking overhead in concurrent systems.
Use mathematical constants and precise rounding to improve numerical computations.
Table of ContentPotential of Variadic Power in C++23
Morphing Functions and Lambdas
Taming Low-Level IO Operations
Mastering Buffering and Async IO
Outperforming Memory Management
Engineering Memory Performance
Advanced Multithreading for Experts
Thread Synchronization and Atomic Mastery
Turbocharging Floats and Ints