Advanced C++ 20 Programming (Modern C++)

Unlock the power of Advanced C++ 20 Programming for experienced developers to create high-performance, robust applications in gaming, finance, and real-time systems by mastering SOLID design principles, functional programming, and multi-threading techniques.

Course Category Icon

Essential Skills Gained

Checkmark

Master SOLID design principles for clean, maintainable code.

Checkmark

Implement complex C++ design patterns and factories.

Checkmark

Enhance code with operator overloading and templates.

Checkmark

Develop efficient, high-performance applications with multithreading and asynchronous programming.

Format

  • Instructor-led
  • 3 days with lectures and hands-on labs.

Audience

  • Experienced C++ Developers
  • System Software Engineers
  • Game Development Specialists
  • AI Programmers

Description

Geared for experienced C++ developers, Advanced C++ 20 Programming / Modern C++ is a three-day hands-on course designed to provide you with skills required to write faster, robust C++ code, enhancing your ability to create performance-critical applications ranging from system software, game development, to real-time systems and AI programming. Working in a lab-focused learning environment guided by our experienced Instructor, you'll explore a broad spectrum of ‘next-level’ topics such as SOLID design principles, operator overloading, functional programming, and template usage, all aimed at refining your programming craft. The hands-on work will mirror real-world scenarios, including implementing design patterns and managing threads and tasks. You’ll also discover the realms of multi-threading and asynchronous programming, invaluable skills for creating efficient, high-performance applications. These advanced skills have significant application in industries such as finance for high-frequency trading systems, in gaming for building high-performance game engines, or in tech companies for building large scale distributed systems. By the end of this unique and intensive course, you will be well-equipped to tackle complex coding challenges, contribute more effectively to your team's projects, and deliver high-quality, efficient applications that meet modern business demands.

Calendar icon

Upcoming Course Dates

No upcoming dates. Please check back later.

Course Outline

Download PDF

C++ Quick Review

  1. Modern C++ - an introduction to new features in C++ 11-20

SOLID Design

  1. Design Smells

  2. Project Overview

  3. Single Responsibility

  4. Open/Close

  5. Liskov’s Substitution

  6. Interface Segregation

  7. Dependency Inversion

Implementing a Factory in C++

  1. Factory Basics

  2. Options

  3. Singleton

  4. A C++ Object Factory

Operator Overloading

  1. Commonly Overloaded operators

  2. Conversions

  3. Constructor Conversions

  4. Implicit vs Explicit

Templates

  1. Understanding variance

  2. Implementing covariant templates

  3. Implementing contravariant templates

  4. auto

Functional Programming

  1. Lambda Expressions

  2. Functors

Structural Patterns

  1. Adapter

  2. Bridge

  3. Composite

  4. Decorator

  5. RAII and Proxy Pattern – Smart Pointers

  6. Strategies for Smart Pointers & Raw Pointers

  7. Other patterns

Behavioral Patterns

  1. Solving common design smells with behavioral patterns

  2. Template Method – issues initializing C++ objects

  3. State Pattern

  4. Strategy Pattern

  5. Command Pattern

  6. Other behavioral Patterns

Threads, Tasks, Async

  1. All about threads

  2. Mutex

  3. Semaphores

  4. Latch & barrier

  5. atomics

  6. All about Tasks

  7. Coroutines (async)

Your Team has Unique Training Needs.

Your team deserves training as unique as they are.

Let us tailor the course to your needs at no extra cost.