Workshop: A Tour of Modern C++


In this fast-paced course we will start from scratch and relearn C++ with modern syntax and semantics. Among other things you will learn (at least something) about:

  • rvalues and move semantics
  • how to write and understand templates
  • function objects and lambda expressions
  • decltype, auto and type deduction in general
  • exception handling and exception safety
  • "mystical" stuff like ADL, RAII and SFINAE
  • futures, promises and higher-order parallelism
  • concepts and type traits
  • iterators, smart pointers and object lifetimes
  • using the standard library effectively
  • misc do's and don'ts in modern C++
  • modern design principles and how to write solid code
  • C++11, C++14 and new stuff coming with C++17 and later

This course is aimed at experienced programmers that would like to learn how to write, or at least understand, modern C++. Ideally you should have some experience with either C, old-school C++, Python and/or Java.

Computer setup

Students will need to bring their own laptops with a C++ compiler and a recent C++ development environment.