Skip to content

Advanced Modern C++ Quickly bring you team up-to-speed with the latest C++ standards

Quickly bring you team up-to-speed with the latest C++ standards

If you have a developer team with prior working experience in C++, the Advanced Modern C++ training course is designed to take your C++ skills to the next level. Through a combination of modern techniques from C++11, C++14, C++17, C++20, and even a preview of some C++23 features, the course’s comprehensive program will equip your team with the knowledge and tools to write better, more efficient, and less error-prone code.

The primary goal of the Advanced Modern C++ training course is to help students understand how the latest advancements in C++ can significantly enhance their coding abilities. We will explore a wide range of modern features, techniques, and best practices that can make your codebase better organized, easier to maintain, and more intuitive to reason about. By leveraging these improvements, your developers will be able to write code more effectively, with a focus on reducing bugs and increasing overall code quality.

Throughout the course, we will build upon participants’ existing C++ knowledge and fill any gaps that they may have encountered. We will provide a comprehensive review of core concepts and reinforce their understanding of key language features. Additionally, we will dive into advanced topics, such as move semantics, automatic type deduction, smart pointers, lambda expressions, and template metaprogramming. Participants will learn how to leverage these techniques to write concise, expressive, and efficient code.

We had a perfectly tailored training to learn modern C++ features and to understand all the things in detail. Now we are well prepared for future C++ projects and for using C++ more efficiently. Big thanks to our trainer and his assistant who answered all our questions immediately and in stunning depth. This was the most sophisticated and gripping training I’ve attended so far.

Jürgen Schneider, Linux Team Leader, IGEL Technology GmbH, R&D, Germany

Course contents

Key topics covered in this course include:

  • Introduction to Modern C++
    • Overview of C++11, C++14, C++17, C++20, and C++23 features and evolution
    • Understanding the benefits of modern C++ improvements
    • Upgrading existing codebases to utilize modern features
  • Modern Resource and Memory Management
    • Move semantics and perfect forwarding
    • Smart pointers and RAII (Resource Acquisition Is Initialization)
  • Core Language Enhancements
    • Type deduction and auto keyword
    • Range-based for loops
    • Initializer lists and uniform initialization
    • Lambdas and functional programming
  • Standard Library Enhancements
    • Ranges, views and algorithms in the Standard Template Library
    • Vocabulary Types
    • Generic programming and template metaprogramming
  • C++ Best Practices
    • Deal with the Legacy Burden
    • Design patterns and tooling for idiomatic C++
    • Writing clean, maintainable, and efficient code
  • Optional topics include:
    • Multithreading and concurrency
    • Concepts and constraints
    • Variadic templates and fold expressions
    • Three-way and defaulted comparisons
    • The tuple protocol for destructurable types

By the end of the training you will have a solid understanding of Modern C++ concepts and techniques, and you will be able to leverage the latest features and best practices to improve the quality, readability, and performance of your C++ code.

Read the full Table of Contents

The course contents are regularly updated to reflect the latest developments in the C++ language and ecosystem.

Course Information

  • Target audience: Professional C++ developers
  • Prerequisite: This course requires prior working experience with C++ and a good understanding of its fundamentals. Familiarity with object-oriented programming concepts and basic data structures is also recommended.
  • Duration:The standard duration of this course is 4 days. It can also be extended to 5 days in order to accommodate more topics.
  • Sign up: Please contact us

Contact us