C++ 20 and 23 training course

Discover The Power Of New C++ 20 and 23 - Improve Functionality & Speed Up Development

JBI training course London UK

"Overall I felt it improved my knowledge of C++ - filled in some gaps and corrected some misunderstandings in my knowledge, and reminded me of some important things I'd forgotten."  

IH, Software Engineer, C++, May 2021

Public Courses

17/08/26 - 4 days
£2950 +VAT
28/09/26 - 4 days
£2950 +VAT
09/11/26 - 4 days
£2950 +VAT

Customised Courses

* Train a team
* Tailor content
* Flex dates
From £1200 / day
EDF logo Capita logo Sky logo NHS logo RBS logo BBC logo CISCO logo
JBI training course London UK

C++ 20 and 23 Training Course

  • Gain an Introduction to modern C++ using C++20 and C++23
  • Learn the latest C++ features
  • Understand how many new features can improve performance
  • Explore the new template features
  • Explore new Standard Library Features
  • Explore the new fluent style of programming
  • Use new multithreading and synchronisation features
  • Learn how to structure applications using Modules

Introduction

  • Overview of History of C++ Language
  • Introduction to C++11/14/17/20/23
  • New features summary
  • Current compiler support

Template related features:

  • Template syntax for lambdas
  • Abbreviated function templates
  • Classes as template non-type parameter
  • Lambda capture of variadic parameters

Concepts

  • Defining a concept
  • Constraints
  • requires

Ranges (library)

  • Ranges and Views
  • Constrained Algorithms
  • Constrained Algorithms projections
  • Range Adaptors
  • Pipelines
  • Filtering and transforming
 

 

Threading

  • jthread
  • stop_source and stop_token
  • semaphore
  • latch and barrier
  • Atomic shared pointer

General C++ 20 features including:

  • using enum
  • Lambda capture of ‘this’
  • constexpr – new capabilities
  • consteval – immediate functions
  • Deprecated implicit capture
  • Designated initializer
  • constexpr virtual functions
  • Conditional explicit
  • New attributes [[likely]] and [[unlikely]]
  • Spaceship operator <=>
  • Source location
  • std::format
  • shared pointer support for arrays

 

 

 

Modules

  • Defining a module
  • export and import keywords
  • Making implementation private

Coroutines

  • What are coroutines?
  • Why use coroutines?
  • co_await, co_yield and co_return.
  • generator (C++ 23)

C++ 23 features

  • Print library
  • fold algorithms
  • Static operators
  • Multiple subscript [] operator
  • Deducing ‘this’
  • Monadic std::optional member functions
  • std::expected
  • Range Adaptors

 

JBI training course London UK

C++ developers who need to upgrade their skills in line with the latest C++ standards

5 star

4.8 out of 5 average

"Overall I felt it improved my knowledge of C++ - filled in some gaps and corrected some misunderstandings in my knowledge, and reminded me of some important things I'd forgotten."  

IH, Software Engineer, C++, May 2021



“JBI  did a great job of customizing their syllabus to suit our business  needs and also bringing our team up to speed on the current best practices. Our teams varied widely in terms of experience and  the Instructor handled this particularly well - very impressive”

Brian F, Team Lead, RBS, Data Analysis Course, 20 April 2022

 

 

JBI training course London UK

Certification


Every delegate will be entitled to a certificate of achievement on completion of the course.

If you are missing your certificate - please use the link below to apply - you can also use this link to sign up for the JBI Training newsletter to receive technology tips directly from our instructors - Analytics, AI, ML, DevOps, Web, Backend and Security.
 



Our C++20 training course is designed to update developer with the new C++ features.  

Many modern C++ features are designed to simplify code or improve safety and performance.  The use of templates is a common way to write general purpose code and C++ 20 adds yet more features to simplify this type of code.

New Standard Library features are introduced which take advantage of these new C++ features. Other Standard Library features are overviewed which reduce dependence on operating system.  These features include support for threading and synchronisation.

C++ has for a long period supported Object Oriented, Generic and Functional style programming, but now also provides support for fluent style programming.

The latest C++20 features can change the way code is written and can improve the structure of code.

JBI Training offers six C++ courses covering the full range of experience levels and specialisms. Available courses include C++ Introduction (four days), C++ Advanced (four days), C++ 20 and 23 (four days), Visual C++ and MFC (five days), Test Driven Development with C++ (three days), and AI-Assisted C++ Development (three days). All courses are available as scheduled classroom sessions in London, as live online instructor-led training, or as customised onsite programmes for development teams.
C++ is a high-performance, general-purpose programming language that gives developers a high degree of control over system resources and memory. It is used across a wide range of industries and application types including embedded systems, operating systems, game engines, financial trading systems, real-time processing, graphical user interfaces, server-side processes, and high-performance computing. C++ is valued for its combination of low-level memory control and high-level object-oriented and generic programming features, making it one of the few languages capable of delivering both performance and abstraction at scale. It remains one of the most widely used programming languages in systems and performance-critical software development.
The C++ Introduction course is a four-day programme designed for developers who are new to C++ or coming from another language such as C, Java, or C#. It covers the core language features including object-oriented programming, memory management, pointers and smart pointers, data structures, inheritance, polymorphism, templates, and an introduction to the Standard Library. The C++ Advanced course is a four-day programme for experienced C++ developers who want to deepen their expertise. It covers advanced templates and metaprogramming, C++ idioms and design patterns, the Standard Template Library in depth, the Boost libraries, policy-based design, and advanced use of language features for correctness and performance.
The C++ 20 and 23 course is a four-day programme covering the features introduced in the C++20 and C++23 standards — the most significant updates to the C++ language in over a decade. C++20 introduced concepts (constraints on template parameters), ranges (a new approach to working with sequences of data), coroutines (for asynchronous and cooperative multitasking), modules (a replacement for the traditional header file system), and significant improvements to the standard library. C++23 builds on these foundations with further library enhancements and language refinements. The course is designed for C++ developers who are already familiar with modern C++ (C++11 through C++17) and want to adopt the latest language standards in their codebase.
Test-driven development (TDD) is a software development practice in which tests are written before the implementation code they are intended to verify, following a red-green-refactor cycle. The developer writes a failing test, writes the minimum code needed to make it pass, then refactors the code while keeping the tests passing. JBI's three-day Test Driven Development with C++ course teaches this discipline in the context of C++ development, covering unit testing frameworks for C++, how to write effective and maintainable tests, applying TDD to object-oriented and generic C++ code, refactoring techniques, and how to integrate TDD into a professional C++ development workflow. It is suitable for C++ developers who want to improve code quality, reduce defects, and build more maintainable software.
The AI-Assisted C++ Development course is a three-day programme that teaches C++ developers how to work professionally and effectively with AI coding assistants such as GitHub Copilot, Claude Code, and similar tools in a C++ development context. The course covers how to write clear specifications and prompts that produce useful C++ code from AI agents, how to evaluate and critically review AI-generated C++ code for correctness, safety, and performance, how to apply test-driven development as a verification discipline when working with AI-generated code, and how to integrate AI coding tools into a professional C++ development workflow without compromising code quality or security. It is designed for practising C++ developers who are beginning to use or wanting to use AI coding tools more effectively.
Visual C++ is Microsoft's C++ development environment within Visual Studio, and MFC (Microsoft Foundation Classes) is a C++ class library that wraps the Windows API, enabling developers to build Windows desktop applications using object-oriented C++. The five-day Visual C++ and MFC course is designed for developers who need to build or maintain Windows desktop applications using Microsoft's C++ toolchain. It covers the Visual Studio development environment, the MFC application framework, window management, message handling, dialog boxes, controls, GDI graphics, file handling, and database access. It is particularly relevant for developers maintaining legacy Windows applications built with MFC, or those building new Windows desktop software in a Microsoft environment.
C++ compiles directly to machine code, giving it performance characteristics that managed languages such as C# and Java cannot match in scenarios where execution speed, memory control, or hardware proximity are critical. C# and Java run on managed runtimes (CLR and JVM respectively) which provide memory management, garbage collection, and platform portability at the cost of some control and performance overhead. C++ is the right choice when performance is paramount — such as in game engines, financial trading systems, embedded systems, operating systems, and real-time processing — or when direct hardware access or fine-grained memory management is required. For most business application development where performance is not the primary concern, C# or Java may be more productive. JBI offers training in all three languages.
Yes. All C++ courses at JBI can be delivered as customised onsite or online programmes for corporate development teams. Content can be tailored to the team's specific C++ standard (for example C++17 or C++20), the platforms and compilers they use, the application domain (embedded, finance, gaming, systems), and any specific language features or codebase challenges they want to address. Organisations with existing C++ codebases can request training that uses their own code as the basis for exercises, which is particularly effective for teams working through a migration to a newer C++ standard or adopting modern C++ practices in a legacy codebase. JBI has delivered C++ training for development teams at organisations including the BBC, NHS, Cisco, Sky, RBS, and EDF.
Yes. JBI's C++ training content is continuously reviewed and updated to reflect the latest ratified C++ standards and compiler support. This currently includes C++20 and C++23, with coverage of features such as concepts, ranges, coroutines, and modules. Course content also reflects current best practices in modern C++ development — including the use of smart pointers, RAII, the Standard Template Library, and the Boost libraries — as well as the growing role of AI coding assistants in C++ development workflows. Delegates learn skills that are current and applicable to professional C++ development today.

CONTACT
+44 (0)20 8446 7555

[email protected]

 

Copyright © 2026 JBI Training. All Rights Reserved.
JB International Training Ltd  -  Company Registration Number: 08458005
Registered Address: Wohl Enterprise Hub, 2B Redbourne Avenue, London, N3 2BS

Modern Slavery Statement & Corporate Policies | Terms & Conditions | Contact Us

POPULAR

AI training courses                                                                        CoPilot training course

Threat modelling training course   Python for data analysts training course

Power BI training course                                   Machine Learning training course

Spring Boot Microservices training course              Terraform training course

Data Storytelling training course                                               C++ training course

Power Automate training course                               Clean Code training course