C++20 Fundamentals with Paul Deitel


C++20 Fundamentals with Paul Deitel
C++20 Fundamentals with Paul Deitel
Updated: June 2024
Duration: 53h 55m | .MP4 1280×800, 30 fps(r) | AAC, 44kHz, 2ch | 13 GB

54 hours of video instruction. Includes Modern C++ – C++20, C++17, C++14 and C++11 – with a look toward C++23 and C++26.

Overview

C++20 Fundamentals with Paul Deitel is a code-intensive presentation of C++, the world’s most popular language for building high-performance business-critical and mission-critical computing systems.

Description

Intended for programmers with a background in another high-level language, in this video course, you’ll learn Modern C++ development hands-on using C++20 and its “Big Four” features-Ranges, Concepts, Modules and Coroutines. In the context of 200+ hands-on, real-world, Deitel live-code examples, you’ll quickly master Modern C++ coding idioms using popular compilers-Microsoft Visual C++®, GNU® g++ and LLVM®/Clang clang++.

Download the C++20 Fundamentals source code from Paul’s GitHub repository athttps://github.com/pdeitel/CPlusPlus20FundamentalsLiveLessons.

Features include

Rich coverage of C++20’s “Big Four”: Ranges, Concepts, Modules and Coroutines
Objects-Natural Approach: Use standardlibraries 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
Functional-style programming: C++20 Ranges and Views, lambda expressions
Generic programming: Templates, C++20 Conceptsand metaprogramming
C++20 Modules: Large-Scale Development
Concurrent programming: Concurrency, multithreading, parallel algorithms, C++20 Coroutines, coroutines support libraries
Future: A look forward to Contracts, range-based parallel algorithms, standard library coroutine support and more
About the Instructor

Paul J. Deitel, CEO and Chief Technical Officer of Deitel & Associates, Inc., is an MIT graduate with 44 years in computing. Paul is one of the world’s most experienced programming-languages trainers, having taught professional courses to software developers at all levels since 1992. He has delivered hundreds of programming courses to industry clients internationally, including SLB (formerly Schlumberger), Cisco, IBM, Siemens, Sun Microsystems (now Oracle), Dell, Fidelity, NASA at the Kennedy Space Center, the National Severe Storm Laboratory, White Sands Missile Range, Rogue Wave Software, Boeing, Puma, iRobot, UCLA Anderson’s Master of Science in Business Analytics (MSBA) and Master of Financial Engineering (MFE) programs, and many more. He is among the world’s best-selling programming-language textbook, professional book, video and interactive multimedia authors. Paul has taught Python, Python Data Science, Java and C++ to over 20,000 students worldwide on O’Reilly Online Learning.

Skill Level

Beginner to Intermediate
[Updated in 2024] Before You Begin – Get the source code; set up your system for C++ development on Windows, MacOS or Linux; get preconfigured Docker containers; Paul’s contact info.
[Updated in 2024]Lesson 1 – Test-Driving a C++ Application – Compile and run a C++ program using Microsoft Visual C++® (Windows), GNU®g++ (Windows, macOS & Linux), and LLVM®/Clang clang++ (Windows, macOS & Linux).
Lesson 2 – Intro to C++ Programming – C++ fundamentals; input/output; fundamental types; arithmetic, equality & relational operators; if statements; using objects of standard library class string.
Lesson 5 – Functions and an Intro to Function Templates – Custom function definitions; declare functions with function prototypes; key C++ standard library headers; random-number generation for simulation; scoped enums for defining named constants; C++20’s using enum declarations; digit separators for more readable numeric literals; inline functions; references and pass-by-reference; default arguments; overloaded functions; function templates; recursion; scopes of identifiers; encryption/decryption case study.
Lesson 6 – arrays, vectors, Ranges and Functional-Style Programming – C++ standard library class template array; declare, initialize & refer to array elements; range-based for statement; pass arrays to functions; common array manipulations; visualizing array data; sorting; searching; using built-in standard library functions to process arrays; multidimensional arrays; C++20 Ranges & functional-style programming (filter, map, reduce); C++ standard library class template vector.
Lesson 7 – (Downplaying) Pointers in Modern C++ – Fundamentals of pointers; pointer declaration/initialization; address-of (&) and indirection (*) pointer operators; pointers vs. references; pass-by-reference with pointers; built-in pointer-based arrays; pointer-based strings; using const with pointers & the data they point to; operator sizeof; pointer expressions & pointer arithmetic; nullptr for pointers to nothing; begin& end library functions; C++ Core Guidelines for avoiding pointers; techniques for avoiding pointers, including C++20’s to_array function and C++20’s class template span for views into built-in arrays, std::arrays & std::vector
Lesson 8 – strings, string_views, Text Files, CSV Files and Regex – More string-processing features; numeric conversion functions; string_views (lightweight views of contiguous characters); write & read sequential text files; reading & writing quoted strings; string stream processing; raw string literals; Titanic Dataset Data-Science Case Study: Reading and manipulating CSV files; Regular Expressions Case Study: Searching strings for patterns, validating data and transforming data.
Lesson 9 – Custom Classes – Fundamentals of object-oriented programming; define a custom class and use it to create objects; member functions & data members; data encapsulation with public member functions & private data; constructors for initializing objects; separate a class’s interface & implementation; dot (.) and arrow (->) member-access operators; destructors for “termination housekeeping;” create objects composed of other objects; friend functions & friend classes; this pointer; static data members & member functions; structs for aggregate types; C++20 designated initializers for aggregates.
Lesson 10 – Object-Oriented Programming: Inheritance and Runtime Polymorphism – Traditional and modern inheritance idioms; implementation inheritance vs. interface inheritance; base classes & derived classes; runtime polymorphism with virtual functions; override keyword; final on functions & classes; abstract & concrete classes; virtual functions “under the hood”; interfaces & dependency injection.
Lesson 12 – Exceptions and a Look Forward to Contracts – Use exception handling for robust business and mission-critical C++ applications; try, catch, throwand the exception handling flow of control; exception safety guarantees and noexcept; stack unwinding & uncaught exceptions; assert macro; failing fast; a look ahead to contracts.
Lesson 13 – Standard Library Containers and Iterators – How containers relate to C++20 ranges; I/O stream iterators; use iterators to access container elements; vector, list & deque sequence containers; use ostream_iterators with the std::copyand std::ranges::copy algorithms; set, multiset, map & multimap ordered associative containers; ordered vs. unordered associative containers; stack, queueand priority_queue container adaptors; bitset “near container” to manipulate bit flags.
Lesson 18 – C++20 Coroutines – What coroutines are and how they’re used; co_yield to suspend a generator coroutine and return a result; co_await operator to suspend a coroutine while it waits for a result to become available; co_return to terminate a coroutine and return its result (or control) to its caller; open-sourcegenerator library for creating a generator coroutine with co_yield; open-source concurrencpp library for creating coroutines with co_await and co_return.
Lesson 19: Stream I/O & C++20 Text formatting – Understand legacy object-oriented stream I/O; character I/O; high-performance unformatted I/O; stream manipulators for octal and hexadecimal integer formats; scientific and fixed-point floating-point formatting; managing format state; alignment and padding; determine success or failure of I/O operations; tie output streams to input streams; and C++20’s concise and convenient text-formatting capabilities (presentation types, positional arguments, alignment, numeric formatting, field widths & precisions).
Lesson 20 – Other Topics – Runtime type information (RTTI); inheriting base-class constructors; runtime polymorphism techniques; multiple inheritance; storage classes and storage duration; mutable members in const objects; namespaces; operator keywords; managing shared dynamically allocated objects; determining compile-time types with decltype; [[nodiscard]]; and an intro to several C++23 features.

Importantissimo!

Per NON SBAGLIARE link e finire su qualche possibile clone, approfittare di offerte esclusive personalizzate per il nostro sito, e se gradisce questo articolo ed il nostro lavoro, la preghiamo di supportarci rinnovando o sottoscrivendo un Account Premium su FILESTORE cliccando sul link qui sotto:

FileStore

Share This Post!

Torna in cima