Advanced and Modern C++ Programming: The Tricky Parts 2026

Advanced and Modern C++ Programming: The Tricky Parts is a two-day onsite training course with programming examples, taught by Nicolai Josuttis. It has been one of our most popular classes. It is offered at the Gaylord Rockies from 09:00 to 17:00 Aurora time (MDT) on Saturday and Sunday, September 12th and 13th, 2026 (immediately prior to the conference). Lunch is included.

Register HereSee Other Offerings

Course Description

Whenever I give C++ trainings I run into the same topics of “half knowledge” even for expreienced programmers. We use a lot of features, for which looking into details opens a deep level of surprises and unexpected behavior. Even strings and vectors cause surprises (e.g., to understand when and how memory is allocated). Most of the time, day-to-day programmingthis works fine without full understanding, but once you hit corner cases (and it starts with error messages) good knowledge about what really goes on is key.

This tutorial will discuss all the common “tricky fundamentals” of C++, which application programmers see and use day by day. We will motivate them, understand them, and see how they should be used in practice. As a result, you will understand C++ way better and advance to the next level of an experienced C++ programmer.

As a long-time member of the C++ standards committee and experienced trainer, Nicolai will teach the essence spiced with useful background information about key design decisions.

Prerequisites

Students are expected to have a basic knowledge of Modern C++.

Students are not required to bring any laptop. We will go through code examples together with the laptop of the presenter.

Course Topics

We will cover the following topics:

    • Strings (and the short string optimization)
    • When types decay and other initialization topics
    • Function Objects
    • Unknown features of Lambdas
    • Error handling in practice
    • Memory management (placement new, allocators, PMR)
    • Move semantics and perfect forwarding
    • Universal references (and when you need them)
    • Value categories like lvalue and rvalue (and why I should care)
    • Rules of special member functions
    • Using templates in practice
    • Variadic templates
    • Concurrency traps
    • The price of using shared pointers

Course Instructor

Nicholia Josuttis

Nicolai Josuttis is well-known in the community for his authoritative books and talks. For more than 20 years he has been a member of the C++ Standard Committee. He is the author of several worldwide best-sellers, including:

Register HereSee Other Offerings