C++20 for Programmers is now available to O’Reilly Online Learning Subscribers at:
https://learning.oreilly.com/library/view/c-20-for-programmers/9780136905776/
The print version should be in-stock mid-April. Preorder it at Amazon.com or other online book retailers.
Written for programmers with a background in another high-level language, in C++20 for Programmers, you’ll learn Modern C++ development hands-on using C++20 and its “Big Four” features:
- Ranges
- Concepts
- Modules
- Coroutines
In the context of 200+, hands-on, real-world code examples, you’ll quickly master Modern C++ coding idioms using popular compilers—Visual C++®, GNU® g++, Apple® Xcode® and LLVM®/Clang.
After the C++ fundamentals quick start, you’ll move on to C++ standard library containers array and vector; functional-style programming with C++20 Ranges and Views; strings, files and regular expressions; object-oriented programming with classes, inheritance, runtime polymorphism and static polymorphism; operator overloading, copy/move semantics, RAII and smart pointers; exceptions and a look forward to C++23 Contracts; standard library containers, iterators and algorithms; templates, C++20 Concepts and metaprogramming; C++20 Modules and large-scale development; and concurrency, parallelism, the C++17 and C++20 parallel standard library algorithms and C++20 Coroutines.
Features include:
- Rich coverage of C++20’s “Big Four”: Ranges, Concepts, Modules and Coroutines
- Objects-Natural Approach: Use standard libraries and open-source libraries to build significant applications with minimal code
- Hundreds of real-world, live-code examples
- Modern C++: C++20, 17, 14, 11 and a look to C++23
- Compilers: Visual C++®, GNU® g++, Apple Xcode® Clang, LLVM®/Clang
- Docker: GNU® GCC, LLVM®/Clang
- Fundamentals: Control statements, functions, strings, references, pointers, files, exceptions
- Object-oriented programming: Classes, objects, inheritance, runtime and static polymorphism, operator overloading, copy/move semantics, RAII, smart pointers
- Functional-style programming: C++20 Ranges and Views, lambda expressions
- Generic programming: Templates, C++20 Concepts and metaprogramming
- C++20 Modules: Large-Scale Development
- Concurrent programming: Concurrency, multithreading, parallel algorithms, C++20 Coroutines, coroutines support libraries, C++23 executors
- Future: A look forward to Contracts, range-based parallel algorithms, standard library coroutine support and more
For more details, see the Preface, the Table of Contents diagram and reviewer testimonials.
Questions? Contact us!