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.


    Patricia Aas
    Senior Consultant & CTO at TurtleSec AS

    Patricia Aas is an international speaker and has spoken at CppCon, ACCU, C++OnSea, NDC Security, NDC Oslo and many other conferences on subjects ranging from Sandboxing in Chromium to Vulnerabilities in C++. She has taught a range of subjects in Computer Science at the University of Oslo.

    Patricia has a masters degree in Computer Science and 13 years professional experience as a programmer, most of that time programming in C++. During that time she has worked in codebases with a high focus on security: two browsers (Opera and Vivaldi) and embedded Cisco telepresence systems.

    NDC Conferences uses cookies to see how you use our website. We also have embeds from YouTube and Vimeo. How do you feel about that?