C++: Advanced Topics

C++: Advanced Topics

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 2h 54m | 1020 MB

Looking to enhance your understanding of C++? In this course, explore some of the more complex aspects of this core programming language. From the basics of class definition to operator overloads and move semantics, instructor Bill Weinman helps you develop the skills you need to get the most out of C++. Learn about lambda expressions, concurrency, constraints and concepts, optional and variant classes, structured bindings, and best practices for initialization. Along the way, Bill covers some of the newer features of C++ including how to use the format library, the spaceship operator, the span class, and more.

Table of Contents

1 About this course
2 Using the exercise files

Operator Overloads
3 Operator overloads
4 Nonmember operators
5 Conversion operators
6 Increment and decrement operators
7 Functors

Move Semantics
8 What is move semantics
9 Understanding lvalues and rvalues
10 Using std move
11 The move constructor
12 The move assignment operator
13 The copy-and-swap idiom
14 Rule of three and five

Lambda Expressions
15 Lambda syntax
16 Closures
17 Algorithm predicates
18 Challenge A Lambda jump table

Constraints and Concepts
19 Why constraints
20 Constraint syntax
21 Defining concepts

Optionals and Variants
22 The optional class
23 The any class
24 The variant class

25 Sleeping
26 Threads
27 The async function
28 Mutex and lock
29 Atomic variables
30 The producer-consumer idiom

Other Subjects
31 Initialization
32 Structured bindings
33 Random number engines
34 The chrono library
35 The filesystem library

Other C++20 New Features
36 The format library
37 The spaceship operator
38 Integer comparisons
39 The span class

Final Project and Conclusion
40 Final project Numword
41 Thank you