Description
Advanced C++ 20 - Unlock the Power of Modern C++
Guided by industry veterans, you’ll explore a deep and practical curriculum covering advanced concepts such as SOLID design principles, operator overloading, functional programming, and template metaprogramming. Through hands-on labs and real-world coding exercises, you’ll gain critical skills in multi-threading and asynchronous programming—essential for building scalable and high-performance systems in fields like fintech, gaming, and distributed computing.
By the end of the course, you’ll be ready to tackle complex software challenges, drive greater impact in collaborative projects, and develop cutting-edge applications that stand out in today’s competitive tech landscape. Strengthen your skill set and become a key contributor on any modern C++ development team.
Advanced C++ 20 - Unlock the Power of Modern C++ Objectives
- In a highly interactive hands-on learning environment guided by our expert instructors you will:
- Master Modern C++ Techniques: Deepen your understanding of advanced C++20 features and how to apply them effectively.
- Optimize Performance: Learn to write faster more efficient and reliable code tailored for high-performance applications.
- Implement SOLID Design Principles: Apply the SOLID principles to create scalable maintainable and well-architected systems.
- Conquer Multithreading and Async Programming: Gain practical experience with threads tasks and asynchronous programming to build responsive concurrent applications.
- Learn by Doing: Participate in focused lab sessions that translate theory into real-world programming solutions.
- Advance Functional Programming Skills: Explore the power of lambdas functors and other functional paradigms within C++.
- Leverage Advanced Templates: Harness the full potential of template programming to solve complex and reusable software problems.
Need Assistance Finding the Right Training Solution
Key Point of Training Programs
-
Advanced C++ 20 - Unlock the Power of Modern C++ Prerequisites
Required:
Experience in software development using any modern programming language
Recommended:
Background in object-oriented programming with C++, Java, or a similar language
-
Advanced C++ 20 - Unlock the Power of Modern C++ Format
In-Person
Online
-
Advanced C++ 20 - Unlock the Power of Modern C++ Outline
C++ Quick Review
Modern C++ – an introduction to new features in C++ 11-20
SOLID Design
Design Smells
Project Overview
Single Responsibility
Open/Close
Liskov’s Substitution
Interface Segregation
Dependency Inversion
Implementing a Factory in C++
Factory Basics
Options
Singleton
A C++ Object Factory
Operator Overloading
Commonly Overloaded operators
Conversions
Constructor Conversions
Implicit vs Explicit
Templates
Understanding variance
Implementing covariant templates
Implementing contravariant templates
auto
Functional Programming
Lambda Expressions
Functors
Structural Patterns
Adapter
Bridge
Composite
Decorator
RAII and Proxy Pattern – Smart Pointers
Strategies for Smart Pointers & Raw Pointers
Other patterns
Behavioral Patterns
Solving common design smells with behavioral patterns
Template Method – issues initializing C++ objects
State Pattern
Strategy Pattern
Command Pattern
Other behavioral Patterns
Threads, Tasks, Async
All about threads
Mutex
Semaphores
Latch & barrier
Atomics
All about Tasks
Coroutines (async)



