- List of exercises per day, with preferred order.
- Solutions and hints can be found in the ExercisesCheatSheet.md file located in the same directory.
- Each exercise is in its own directory and referred to in the following by the name of the directory
There are far too many exercises on each day. They are given in order in which they should be done.
Hello World (directory: hello
, CheatSheet)
Operator overloading (directory: operators
, cheatSheet)
Move semantic (directory: move
, cheatSheet)
Debugging (directory: debug
, cheatSheet)
This was actually covered in the essential course, but it's always good to be fluent with gdb when writing C++ !
The tools exercises of day 2 are special as they will have been played (quickly) during the course. People should replay them and discover the tools by themselves.
Smart pointers (directory: smartPointers
, cheatSheet)
std::optional (directory: optional
, cheatSheet)
std::variant (directory: variant
, cheatSheet)
Generic programming / templates (directory: templates
, cheatSheet)
(optional) Address sanitizer (directory: asan
, cheatSheet)
(optional) Undefined behaviour sanitizer (directory: ubsan
Race conditions (directory: race
, cheatSheet)
Condition variables (directory: condition_variable
, cheatSheet)
Generic programming / templates (directory: templates
, cheatSheet)
As a prerequisite for variadic templates, and in case it was not covered in day 2 session