The Complete Guide to C++ Functions, Lambdas, and Callbacks

Master C++ functions, from their core mechanics to advanced callable entities and the latest C++23 lambda expressions, for building efficient and flexible real-world applications

Image14

Course Description

Dive deep into C++ functions, from fundamentals to advanced concepts like function pointers, callables & invocables. Master C++ lambda expressions across all standards (C++11 to C++23), and explore powerful C++ functional utilities like std::function, std::invoke, std::bind & more. Elevate your C++ coding for efficiency and flexibility.

Features

6-hrs On Demand Video

Exclusive 1-on-1 With Instructor

Course Completion Certificate

Priority Q/A

Full Lifetime Access

Community Access

Curriculum

Understand in detail on what is planned under each module

📞 Exclusive 30-Minute Session

📊 Course Material

📄 Source Code

Introduction to functions

Functions Usage

Function Internals

One Definition Rule

Function Arguments

Function Parameter Types

Function Return Values

Parameter Types

Default Arguments

Function Overloading

Name Mangling

Function Overloading Resolution

inline Functions - I

inline Functions - II

constexpr Functions - I

constexpr Functions - II

consteval Functions

Static Functions

Function Templates - I

Function Templates - II

Forwarding References

Variadic Templates

More Features

Member Functions - I

Member Functions - II

Quiz

Progress Update

Function Pointers - I

Function Pointers - II

Function Pointers - III

Callbacks

Pointer To Member Function

Quiz

Progress Update

Function Pointers Revisited

Function Objects

Function Pointers Vs Function Objects - I

Function Pointers Vs Function Objects - II

Improving Function Objects

Quiz

Lambda Expressions

Lambda Examples

Lambda Capture List

Capture By Value

Capture By Reference - I

Capture By Reference - II

More Capture Types

Local & Global Lambdas

Lambda Conversion

Immediately Invoked Function Expression - I

Immediately Invoked Function Expression - II

Immediately Invoked Function Expression - III

Generic Lambda

Generalized Lambda Capture

constexpr Lambda

Capture by Constant Reference

Implicit this Capture

Immediate Lambda

Template Type Parameters - I

Template Type Parameters - II

Init-Capture Of Pack Expansion

Unevaluated Context

Constrained Lambda

Making Operator () Optional

Attributes on Lambda Expressions

static Operator ()

static Lambda

Recursive Lambda - I

Recursive Lambda - II

Quiz

Callable Concept

Introduction To std::function

Function Target

Functor Target

std::function Issues

Member Function Target

Member Function Target - More Examples

Pros & Cons

std::mem_fn

Partial Function

std::bind

std::bind Usage

Usage with Global Functions

Usage With Member Functions

Usage With Functors

Usage with User-Defined Arguments

New C++20 & C++23 Binders

Lambda As Binder - I

Lambda As Binder - II

Invocable Concept (std::invoke)

Revisiting Callables

Introductory Example

Execute Algorithm Example

Projection - I

Projection - II

Projection - III

std::invoke_r

std::apply

std:;apply Examples

std::not_fn

C++23 std::move_only_function

Quiz

Project Introduction

Menu Class

Callbacks In Menu

Numbers Class

Menu With PMFs

PMFs With Base Class

Virtual Functions - I

Virtual Functions - II

Virtual Functions - III

Virtual Functions - IV

Menu With Virtual Functions

PMFs Vs Virtual Functions

Menu Limitations

Improved Menu

Course Completion Certificate

Why Do This Course

Unlock advanced functionality with function pointers and callbacks.

Become an expert in C++ lambda expressions across all standards.

Write modern C++ with powerful standard library utilities.

Gain practical, hands-on experience through projects.

Stay current with the latest C++20 & C++23 lambda features.

Requirements

  • Basic knowledge of C++
  • Modern C++ compiler (Visual Studio 2022, gcc 13, clang 17)

Reviews

See what other students have to say about the course

nice

Shiv

Awesome

Ata Karim

Excellent

Balbir

Excellent

Balbir

5 star

Vinay

Good Course, nice explanation of concepts along with practical application.

Pushp

The course is really well structured and helps a lot

Anusha

learnt a lot of things, especially address sanitizer can be very helpful for memeory issues.

Himanshu

Related Courses

Additional courses that may be relevant to your interests

Image23

Instructor


- Hello! I'm Umar Lone

I've educated and mentored students and professionals globally, leveraging over 20 years of experience in C++, Object-Oriented Programming, Design Patterns, and related technologies. My professional background includes significant contributions to C++, Java, and C# projects with esteemed companies, alongside providing specialized project consultation & mentoring.


My current focus is on delivering comprehensive video courses that distill this extensive knowledge. I specialize in transforming intricate concepts into clear, practical, and actionable insights, supported by real-world examples. This approach is designed to equip you with the necessary clarity and confidence for sustained growth and impactful contributions within your projects and career trajectory.


Begin your learning journey with me now and unlock the advanced understanding and practical expertise essential for making a significant impact in your field.


Keep in touch

Subscribe for announcements, new courses & discount coupons

By submitting you agree to receive our newsletter as well as other promotional emails.