The professional programmer's Deitel(R) guide to C++20
Written for programmers with a background in another high-level language, in this book, you'll learn Modern C++ development hands on using C++20 and its Big Four features--Ranges, Concepts, Modules and Coroutines. (For more details, see the Preface, and the table of contents diagram inside the front cover.)
In the context of 200+, hands-on, real-world code examples, you'll quickly master Modern C++ coding idioms using popular compilers--Visual C++ (R), GNU (R) g++, Apple (R) Xcode (R), LLVM (R)/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
- 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++(R), GNU(R) g++, Apple Xcode(R) Clang, LLVM(R)/Clang
- Docker: GNU(R) GCC, LLVM(R)/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
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.