Best Practices for Modern C++

Best Practices for Modern C++ is a three-day online training course with programming examples taught by Rainer Grimm. It is offered online from 11AM to 5PM Eastern Time (EDT),  Friday September 11th through Sunday September 13th, 2020 (before the conference).

Course Description

I want to start with a question: Why do we need Guidelines such as the C++ Core Guidelines for Modern C++? My answer consists of three observations: C++ is complicated for the novice, challenging for the professional, and used in safety critical environments. Guidelines should give us the means to write type safe, bounds safe, and lifetime safe code by design.

The C++ Core Guidelines have more than 500 guidelines. Many of the rules are lifesaving for a professional C++ software developer, but also many of the rules are quite special, often incomplete or redundant, and sometimes they even contradict. My two-days class gives you a concise insight into the lifesaving rules of the guidelines to write safe C++ code by design.


Participants should have a working knowledge of the C++ language and a willingness to question their way of writing modern C++ code.

In the class, I give you a detailed insight into the C++ Core Guidelines. This insight is the starting point for further discussions and exercises; therefore, you should bring your laptop with you including a modern C++ compiler.

You get in return the training material consisting of the presentation, the exercises, and the solutions to the exercises.

Course Topics

  • Philosophy
  • Interfaces
  • Functions
  • Classes and class hierarchies
  • Enumerations
  • Resource management
  • Expressions and statements
  • Error handling
  • Constants and immutability
  • Templates and generic programming
  • Concurrency
  • The standard library
  • Source files
  • C-style programming

Register Here

Course Instructor

Rainer GrimmRainer Grimm has worked as a software architect, team lead and instructor for about 20 years. In his spare time he likes to write articles about C++, Python, and Haskell. Rainer Grimm also likes to speak at conferences. He publishes weekly on his English and German blog Modern C +. Heise Developer hosts the German blog.
Since 2016, he is an independent instructor giving seminars for modern C++ and Python. He published in various languages several books to modern C++ and concurrency, in particular.