Monday
Room 2
09:00 - 17:00
(UTC+02)
2 Days
Mod(C++) Intermediate
Mod(C++) Intermediate is a two day training course. It is ideal for people who have some C++ experience or that have taken Mod(C++) Fundamentals.
The Intermediate course gives the students a deeper understanding of how one should think and program in “Modern C++” ( C++11/14/17/20). The exercises will all be based around a 2D graphics game inspired by Ms. Pac-Man.
Topics covered in the course include:
DAY 1 - GENERIC PROGRAMMING “THINKING”
- Introduction to the training Presentation of the project
- Function overloading
- Operators
- Class templates, function templates, non-type parameters
- Aliases and and alias templates
- std::variant and std::visit
- std::tuple and structured bindings
- Variadic templates, fold expressions and parameter packs
DAY 2 -MODERN C++ FEATURES
- Ranges
- std::string_view and std::span
- Constexpr and Consteval
- Concepts
- Special member functions (Rule of Five/Zero)
- Pragmatic introduction to move semantics and return value optimizations
- Safety: Riskier constructs in C++ and how to minimize their impact
- Conclusion and review
Prerequisites
Students are assumed to have some C++ experience or should have taken Mod(C++) Fundamentals. They should be working in ( or looking to work in) a C++ project.
Software needed
The exercises will be done in a CMake based project. The students will need a development environment, a rich IDE is recommended, for example Visual Studio Code and Jetbrains CLion. A GitHub account will be useful.