Modern C++ & STL Live Training

Master modern C++—value categories, moves, lambdas, smart pointers, constexpr, templates, and STL—via 3‑hour weekend sessions

Image14

Course Description

Learn Modern C++ by exploring the powerful language features and programming techniques introduced in C++11, C++14, C++17, C++20, and C++23. Master move semantics, smart pointers, lambda expressions, type deduction, compile-time programming, templates, new container classes, concurrency & more.


Explore C++20 and C++23 features, including Concepts, Ranges, Coroutines, Modules, std::expected, explicit object parameter, std::print, etc., while learning why these features were introduced and how to use them effectively.


Build on your C++ foundations and develop the skills to write safer, more expressive, idiomatic, efficient, and maintainable modern C++ code through practical examples.

Training Schedule

The training will be conducted live through Microsoft Teams. After enrollment, the teams link in the curriculum will be enabled & you can join from there.


Start Date: 31st October 2026 (Tentative)

Days: Saturday & Sunday (3:30 hrs)

Duration: 8 weeks

Time: 8:00 am IST (check your timezone)

For any questions, send us an email at support@poash.com

Course Topics

Core Language Features

  • Feature test macros
  • Uniform Initialization
  • Range-based For
  • auto Type Deduction
  • if/switch with Initialization
  • enums (scoped, using)
  • Designated initializers
  • Exception specification
  • Structured bindings
  • Attributes


Templates & Compile-time Programming

  • static_assert
  • Type traits
  • constexpr
  • consteval & its evolution from C++11 to C++23
  • constinit
  • if constexpr
  • if consteval
  • Variadic templates
  • Fold expressions
  • Alias templates
  • Class template argument deduction


Class Features

  • New keywords - default, delete, final, override
  • Value categories
  • Copy/Move Semantics
  • Rule of 3/5/0 std::move/std::move_if_no_except
  • Copy/move elision
  • Mandatory elision
  • Perfect forwarding
  • Explicit object parameter
  • Multidimensional operator
  • static operator ()
  • static operator []
  • Deducing this


Lambda Expressions

  • Closures
  • Internal implementation
  • Capture List
  • Generic lambda
  • Static Lambda
  • Templated lambda
  • Attributes


Three-way Comparison

  • Defaulted operator <=>
  • operator ==
  • Rewritten Expressions
  • Synthesized Expressions
  • Utilities


Memory Management

  • unique_ptr
  • shared_ptr
  • Custom deleters
  • weak_ptr
  • Control block
  • Utilities (make functions, enable_shared_from_this)
  • Atomic shared_ptr


Diagnostics in Modern C++

  • static_assert revisited
  • Attributes for diagnostics
  • Nullable types
  • std::expected
  • std::source_location
  • std::stacktrace


Constraints & Concepts

  • SFINAE
  • requires Clause
  • Conjuction & Disjunction
  • requires Expressions


Library Types

  • Tuple
  • Discriminated union (variant)
  • std::any
  • Function wrappers


New Containers & Modernization

  • Emplacement functions
  • std::array
  • std::string_view
  • std::span
  • std::mdspan
  • Unordered containers
  • Flat containers


Ranges

  • Range algorithms
  • Range concepts
  • Views & view adaptors
  • Composition & pipelining


Concurrency Support

  • High level concurrency (std::async)
  • Low level concurrency (std::thread, std::jthread)
  • Synchronization classes - mutex, semaphore, barrier, latch
  • RAII helpers - std::lock, std::unique_lock, std::scoped_lock
  • Atomics


Coroutines

  • Subroutines vs Coroutines
  • Coroutine Infrastructure
  • Awaiters & Awaitables
  • Exception Handling in coroutines


Modules

  • Structure
  • Module Linkage
  • Visibility & reachability
  • Submodules
  • Partition Modules
  • Private module marker

Features

Access to recorded sessions

Live training

Course Completion Certificate

Priority Q/A

Full Lifetime Access

Community Access

Curriculum

Understand in detail on what is planned under each module (updated once the training starts)

Hardware & Software Setup

Before Our First Session

During Live Sessions

Utilities

Why Do This Course

Understand how C++11 through C++23 enable safer, cleaner, and more expressive code

Apply RAII, move semantics, and smart pointers to manage resources and avoid common programming errors

Use lambdas, templates, Concepts, Ranges, and powerful standard library utilities

Improve code quality in existing projects through incremental modernization.

Understand modern threading, synchronization, and concurrency facilities

Requirements

Learner Pre-requisites

  • Comfortable with basic programming concepts
  • Prior exposure to C++ fundamentals (references, pointers, functions, basic templates, classes)
  • Ability to read and understand simple C++ code
  • Familiarity with using a code editor and compiler
  • Basic understanding of object-oriented concepts



Hardware

  • Laptop or desktop with 4+ cores, 16 GB RAM recommended, and SSD storage for quick builds and multitasking
  • 1080p display (or dual monitors) for presentation & quick practice
  • Headset with noise cancelling microphone to ensure clear audio during live sessions
  • Stable broadband: at least 1.5mbps



Operating System

  • Windows 10/11, macOS, or a mainstream Linux distro (Ubuntu LTS 20.04/22.04, RHEL 8/9, Fedora 36+)



Developer Tools

  • One primary IDE: Visual Studio 2022/2026 Community on Windows, or VS Code/CLion on any platform, Xcode on macOS
  • Compilers: MSVC (via Visual Studio), GCC/Clang on Linux/macOS/WSL2

Reviews

See what other learners have to say about this course

Umar has very deep knowledge in C++. I learned a lot from fundamental to advanced knowledge in C++.

Shiv

Clases were good.

Devkar

Related Products

Additional products 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

Yes please, save my details so you can send me educational content that is relevant and helpful.