Special offers now — see discounted courses.
day
:
hour
:
min
:
sec
See special offers
C++ Development: Advanced Concepts, Lambda Expressions, and Best Practices

C++ Development: Advanced Concepts, Lambda Expressions, and Best Practices

2h 54mAdvanced2023-02-02

Authors

Bill Weinman

Bill Weinman

Tech Advocate, Entrepreneur, Programming Expert

Course details

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.

Skills covered

C++AdvancedProgramming LanguagesOpen SourceSoftware Development

Concepts

0. Introduction

  • 01 - About this course
  • 02 - Using the exercise files

1. Operator Overloads

  • 03 - Operator overloads
  • 04 - Nonmember operators
  • 05 - Conversion operators
  • 06 - Increment and decrement operators
  • 07 - Functors

2. Move Semantics

  • 08 - What is move semantics
  • 09 - 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

3. Lambda Expressions

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

4. Constraints and Concepts

  • 19 - Why constraints
  • 20 - Constraint syntax
  • 21 - Defining concepts

5. Optionals and Variants

  • 22 - The optional class
  • 23 - The any class
  • 24 - The variant class

6. Concurrency

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

7. Other Subjects

  • 31 - Initialization
  • 32 - Structured bindings
  • 33 - Random number engines
  • 34 - The chrono library
  • 35 - The filesystem library

8. 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

About us

LyndaKade is a leading learning platform that helps people learn business, software, technology, and creative skills to achieve personal and professional goals.

Phone numberAparat ChannelTelegram SupportTelegram ChannelInstagram Page

All rights to this site belong to LyndaKade.

Terms of Service|Privacy Policy

نماد الکترونیک enamad در صورت اتصال با آی‌پی داخل کشور، نمایش داده خواهد شد.
logo-samandehi - لوگو ساماندهی
Zarinpal
Zibal