The document provides an overview of the topics covered in the book 'C++20 for Programmers' including C++ fundamentals, object-oriented programming, templates, generics, modules, coroutines, and parallel programming. It describes the book's approach of presenting hundreds of example programs to demonstrate C++ features in a live-coding style.
The document provides an overview of the topics covered in the book 'C++20 for Programmers' including C++ fundamentals, object-oriented programming, templates, generics, modules, coroutines, and parallel programming. It describes the book's approach of presenting hundreds of example programs to demonstrate C++ features in a live-coding style.
The document provides an overview of the topics covered in the book 'C++20 for Programmers' including C++ fundamentals, object-oriented programming, templates, generics, modules, coroutines, and parallel programming. It describes the book's approach of presenting hundreds of example programs to demonstrate C++ features in a live-coding style.
The document provides an overview of the topics covered in the book 'C++20 for Programmers' including C++ fundamentals, object-oriented programming, templates, generics, modules, coroutines, and parallel programming. It describes the book's approach of presenting hundreds of example programs to demonstrate C++ features in a live-coding style.
C++20 for Programmers: An Objects-Natural Approach
by Paul Deitel & Harvey Deitel PART 1 PART 2 PART 3 PART 5, Advanced Topics: C++20 Fundamentals Quickstart Containers, C++20 Ranges, Modern Object-Oriented Modules, Parallel Algorithms, & Procedural Programming Pointers, Strings & Files Programming & Exceptions Concurrency & Coroutines 1. Intro: Test-Driving Popular, 6. arrays, vectors, Ranges and 9. Custom Classes 16. C++20 Modules: Free C++ Compilers Functional-Style Programming ON: Object serialization with JSON Large-Scale Development Object-orientation refresher. C++ on Intro to functional-style programming. 10. OOP: Inheritance and import, header units, Windows®, macOS® & Linux using ON: Class Template vector Runtime Polymorphism module declarations, Visual C++®, g++, Xcode® & clang++. 7. (Downplaying) Program to an interface, module fragments, partitions 2. Intro to C++20 Programming Pointers in Modern C++ non-virtual interface idiom (NVI), 17. Parallel Algorithms & C++ fundamentals. “Objects-Natural” Security & safe programming. std::variant/std::visit Concurrency: A High-Level View (ON) approach intro—using libraries ON: C++20 spans 11. Operator Overloading, Multi-core performance with C++17 to build powerful object-oriented 8. strings, string_views, Text Copy/Move Semantics, Smart parallel algorithms, concurrency, applications with few lines of code. Files, CSV Files and Regex Pointers and RAII multithreading ON: Manipulating string Objects ON: Reading and Analyzing Crafting valuable classes: 18. C++20 Coroutines 3. Control Statements, Part 1 the Titanic Disaster Data (CSV) Custom MyArray class, co_yield, co_await, co_return, Intro to C++20 text formatting. C++20 three-way comparison operator coroutines support libraries, ON: Arbitrarily Large Integers— <=>, resource management via RAII generators, executors and tasks using free, open-source libraries (Resource Acquisition Is Initialization) 4. Control Statements, Part 2 12. Exceptions and PART 6 ON: Using the miniz-cpp Library to a Look Forward to Contracts Online Miscellaneous Topics Read and Write ZIP File Objects PART 4, Generic Programming: 19. (Online) Stream I/O and 5. Functions and an Intro to C++20 Text Formatting Function Templates Templates, Concepts & Template Metaprogramming 20. (Online) Other Topics and a ON: Lnfylun Lhqtomh Wjtz Qarcv: Look Toward C++23 Qjwazkrplm xzz Xndmwwqhlz 13. Standard Library Containers (encrypted title for our private-key and Iterators • Margin icons identify Modern C++ cryptography case study) Manipulating standard data structures features by version: C++20, C++17, 14. Standard Library Algorithms C++14, C++11 & forthcoming C++23. • Shows C++ as it’s intended to be used and C++20 Ranges & Views • Margin icons identify programming for building business-critical and Functional-style programming tips: C++ Core Guidelines, Software mission-critical systems. Engineering, Performance, Security, • C++20’s “Big Four” features: Ranges, 15. Templates, C++20 Concepts Errors, C++20 Modules. Concepts, Modules and Coroutines. and Metaprogramming • Use developer resources: GitHub®, • Live-code approach: Hundreds of Compile-time polymorphism, StackOverflow®, open-source, more. complete programs with live outputs. • Static code-analysis tools. function templates, C++20 abbreviated • GNU g++ & Clang Docker containers. • Communicate with the authors at • Download source code at function templates, class templates, • A look toward C++23. deitel@deitel.com. https://deitel.com/cpp20fp. variadic templates, fold expressions • Blog: https://deitel.com/blog.