Modern C++

Getting the most out of the modern C++ language and standard libraries.


We all want to write efficient and expressive code that is free from bugs, quick to write, and easy to read. That’s not always been possible, but as the C++ language and libraries evolve it’s becoming the language to choose to achieve these goals.

But with so many changes since 2011 it’s a daunting task to keep up-to-date with the features and best practices that will save you time at every stage of your workflow. In this hands-on workshop we will start with a pre-prepared ‘old’ piece of code and collaboratively utilise new language and library features to rewrite it.


We will make use of the algorithms library, lambda functions, the filesystem library and much more, with features spanning modern C++ standards up to and including C++20.


The resulting ‘new’ code will be more concise, less error-prone, easier-to-maintain and conform to the C++ Core Guidelines. This workshop will not only familiarise you with language and library features that you may be unaware of, but also help you to recognise patterns of code that could be (re)written with algorithms or new library functionality. This will be a fun, live-coding experience that will leave you better prepared to fully leverage the latest and greatest of modern C++.


The course is aimed at graduate students and other researchers who have a working knowledge of C or C++, and who want to get up-to-speed with some modern best practices.


Participants must bring their own laptop that they have VirtualBox installed on. A VirtualBox disk image will be provided that will contain all necessary software for the course.