C++20 Fundamentals LiveLessons

C++20 Fundamentals LiveLessons
C++20 Fundamentals LiveLessons

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 19h 11m | 3.87 GB
eLearning | Skill level: All Levels


C++20 Fundamentals LiveLessons with Paul Deitel is a code-oriented presentation of C++, one of the world’s most versatile and powerful programming languages. C++ remains hugely popular for the development of systems software, embedded systems, operating systems, real-time systems, communications systems and other high performance computer applications. C++20 Fundamentals LiveLessons is comprehensive and covers all major versions of C++, including: C++11, C++17, and C++20.

+ Table of Contents

1 Before You Begin–Overview
2 C++20 for Programmers
3 Compilers We Use
4 Windows Users – Setting Up Microsoft Visual Studio Community Edition
5 macOS Users – Setting Up Apple Xcode
6 Linux Users – Setting Up GNU C++
7 Getting the Source Code
8 GNU GCC Docker Container
9 Getting your questions answered
10 Contacting Paul Deitel
11 Test-Driving a C++ Application–Overview
12 Launching Visual Studio and Creating a Project
13 Compiling and Running the Project
14 Test-Driving a C++ Application–Overview
15 Launching Xcode, Creating a Project and Compiling and Running the Project
16 Test-Driving a C++ Application–Overview
17 Compiling and Running the GuessNumber.cpp
18 Test-Driving a C++ Application–Overview
19 Compiling and Running the GuessNumber.cpp
20 Running C++ Code Interactively in a Jupyter Notebook–Overview and Creating the Docker Container
21 Launching Jupyter and interactively Executing C++ Code
22 Lesson 2 Overview – Intro to C++ Programming
23 First Program in C++ – Displaying a Line of Text
24 Modifying Our First C++ Program – Displaying a Single Line of Text with Multiple Statements
25 Another C++ Program – Adding Integers
26 Arithmetic
27 Decision Making – Equality and Relational Operators
28 Objects Natural – Creating and Using Objects of Standard Library Class string
29 Lesson 3 Overview – Control Statements, Part 1
30 C++ Keywords
31 if Statement and bool Values
32 if…else Double-Selection Statement
33 Nested if…else Statements
34 Conditional Operator ( -)
35 while Iteration Statement
36 Counter-Controlled Iteration – Calculating the Class Average for 10 Students
37 Sentinel-Controlled Iteration – Calculating the Class Average for Any Number of Students
38 Nested Control Statements
39 Preventing Narrowing Conversions with C++11 List Initialization
40 Compound Assignment Operators
41 Increment (++) and Decrement (–) Operators
42 Fundamental Types Are Not Portable
43 Objects Natural Case Study – Arbitrary Precision Integers–Overview
44 Objects Natural Case Study – Arbitrary Precision Integers–Using BigNumber
45 Objects Natural Case Study – Arbitrary Precision Integers–Running the Example on Windows in Visual Studio
46 Objects Natural Case Study – Arbitrary Precision Integers–Running the Example on macOS in Xcode
47 Objects Natural Case Study – Arbitrary Precision Integers–Running the Example on Linux Using g++
48 C++20 Text Formatting with Function format
49 Lesson 4 Overview – Control Statements, Part 2
50 Essentials of Counter-Controlled Iteration
51 for Iteration Statement
52 Application – Summing Even Integers
53 Application – Compound-Interest Calculations; Introducing Floating-Point Formatting
54 do…while Iteration Statement
55 switch Multiple-Selection Statement; C++17 – [[fallthrough]] Attribute
56 C++17 – Selection Statements with Initializers
57 break Statement
58 continue Statement
59 Logical Operators
60 C++20 Feature Mock-Up – [[likely]] and [[unlikely]] Attributes
61 Objects Natural Case Study – Objects Natural Case Study – Using the miniz-cpp Library to Write and Read ZIP files
62 Objects Natural Case Study – Using the miniz-cpp Library to Write and Read ZIP files
63 Lesson 5 Overview – Functions
64 Math Library Functions
65 Function Definitions and Function Prototypes
66 Order of Evaluation of a Function’s Arguments
67 Function-Prototype and Argument-Coercion Notes
68 Function Signatures and Function Prototypes
69 Argument Coercion
70 Argument-Promotion Rules and Implicit Conversions
71 C++ Standard Library Headers
72 Case Study – Random Number Generation–Rolling a Six-Sided Die
73 Case Study – Random Number Generation–Rolling a Six-Sided Die 60,000,000 Times
74 Case Study – Random Number Generation–Randomizing the Random-Number Generator with srand
75 Case Study – Game of Chance; Introducing Scoped enums
76 C++11’s More Secure Nondeterministic Random Numbers
77 Scope Rules
78 Inline Functions
79 References and Reference Parameters
80 Default Arguments
81 Unary Scope Resolution Operator
82 Function Overloading
83 How the Compiler Differentiates Among Overloaded Functions
84 Function Templates
85 Recursion – Calculating Factorials Recursively
86 Example Using Recursion – Fibonacci Series
87 C++17 and C++20 – [[nodiscard]] Attribute
88 Lnfylun Lhqtomh Wjtz Qarcv – Qjwazkrplm xzz Xndmwwqhlz
89 Lesson 6 Overview – arrays, vectors, Ranges and Functional-Style Programming
90 Initializing array Elements in a Loop
91 Initializing an array with an Initializer List
92 C++11 Range-Based for and C++20 Range-Based for with Initializer
93 Setting array Elements with Calculations; Introducing constexpr
94 Totaling array Elements with External Iteration
95 Using a Primitive Bar Chart to Display array Data Graphically
96 Using array Elements as Counters – Reimplementing Lesson 5’s Die Rolling Simulation
97 Using arrays to Summarize Survey Results
98 Sorting and Searching arrays
99 Multidimensional arrays
100 Intro to Functional-Style Programming – What vs. How–Functional-Style Reduction with accumulate
101 Intro to Functional-Style Programming – Passing Functions as Arguments to Other Functions–Introducing Lambda Expressions
102 Intro to Functional-Style Programming – Filter, Map and Reduce–Intro to C++20‚Äôs Ranges Library
103 Objects Natural Case Study – C++ Standard Library Class Template vector; Intro to Exception Handling
104 Lesson 7 Overview – (Downplaying) Pointers in Modern C++
105 Introduction–Downplaying Pointers; Sometimes Pointers Are Still Required; C++20 Features for Avoiding Pointers
106 Pointer Variable Declarations and Initialization
107 Pointer Operators
108 Pass-by-Reference with Pointers
109 Built-In Arrays
110 C++20 – Using to_array to convert a Built-in Array to a std – -array
111 Using const with Pointers and the Data They Point To
112 sizeof Operator
113 Pointer Expressions and Pointer Arithmetic
114 Objects Natural Case Study – C++20 spans–Views of Contiguous Container Elements
115 A Brief Intro to Pointer-Based Strings
116 Command-Line Arguments
117 Revisiting C++20’s to_array Function
118 Looking Ahead to Other Pointer Topics
119 Lesson 8 Overview – strings, string_views, Text Files, CSV Files and Regex
120 string Assignment and Concatenation
121 Comparing strings
122 Substrings
123 Swapping strings
124 string Characteristics
125 Finding Substrings and Characters in a string
126 Replacing Characters in a string
127 Inserting Characters into a string
128 C++11 Numeric Conversions
129 C++17 string_view
130 Creating a Sequential File
131 Reading Data from a Sequential File
132 C++14 Reading and Writing Quoted Text
133 String Stream Processing–Demonstrating ostringstream
134 String Stream Processing–Demonstrating istringstream
135 Raw String Literals
136 Using rapidcsv to Read the Contents of a CSV File
137 Reading and Analyzing the Titanic Disaster Dataset, Part 1
138 Reading and Analyzing the Titanic Disaster Dataset, Part 2
139 Reading and Analyzing the Titanic Disaster Dataset, Part 3
140 Reading and Analyzing the Titanic Disaster Dataset, Part 4
141 Objects Natural Case Study – Introduction to Regular Expressions
142 Matching Complete Strings to Patterns
143 Replacing Substrings
144 Searching for Matches
145 Lesson 9 Overview – Custom Classes
146 Test-Driving an Account Object
147 Account Class with a Data Member
148 Account Class – Custom Constructors
149 Software Engineering with Set and Get Member Functions
150 Account Class with a Balance
151 Time Class Case Study – Separating Interface from Implementation
152 Class Scope and Accessing Class Members
153 Access Functions and Utility Functions
154 Time Class Case Study – Constructors with Default Arguments, Part 1
155 Time Class Case Study – Constructors with Default Arguments, Part 2
156 Time Class Case Study – Constructors with Default Arguments, Part 3
157 Overloaded Constructors and C++ 11 Delegating Constructors
158 When Constructors and Destructors Are Called
159 Time Class Case Study – A Subtle Trap–Returning a Reference or a Pointer to a private Data Member
160 Default Assignment Operator
161 const Objects and const Member Functions
162 Composition – Objects as Members of Classes
163 friend functions and friend classes
164 The this pointer–Implicitly and Explicitly Using the this Pointer to Access an Object‚Äôs Data Members
165 The this pointer–Using the this Pointer to Enable Cascaded Function Calls
166 static Class Members–Classwide Data and Member Functions
167 Aggregates and C++20 Designated Initializers
168 ‘Objects Natural’ Case Study – Serialization with JSON and cereal–Introduction
169 ‘Objects Natural’ Case Study – Serialization with JSON and cereal–Serializing a vector of Objects containing public Data
170 ‘Objects Natural’ Case Study – Serialization with JSON and cereal–9.22.1 Serializing a vector of Objects containing public Data