do not click

Meeting C++ 2024   |  Online   |  Training   |  Books   |  Survey   |  Job fair   |  Advertising   |  Jobposting   |  Login

Meeting C++ Trainings listing

Modern C++ Idioms

Mateusz Pusz

This is an online training

Tags for this training

templates, Modern C++, idioms

01.10.2020 for 2 half day(s)

Book now

Trainings Details

C++ is no longer C with classes and it never was just an Object-Oriented language. C++ is a general-purpose programming language. It has procedural, object-oriented, and generic programming features, while also providing facilities for low-level memory manipulation. If used correctly, it provides hard to beat performance.

Such usage requires a good knowledge of C++ templates and Modern C++ Idioms which are much different from commonly known design patterns popularized by GoF book and invented to handle common use cases in pure OO languages like Java or C#. Learning C++-specific idioms will allow us to build powerful tools that are useful in the everyday work of every C++ developer. The hands-on part of the workshop will cover RAII, Copy-and-Swap, Smart Pointer, Type Traits, Policy-based Design, EBO, Type Erasure, CRTP, and other popular C++ Idioms.

The training targets C++ developers and code architects that want to improve their skills in implementing general-purpose tools.

Trainings Agenda


  • Learning Modern C++ idioms and their use cases
  • Particular focus on the usage of "C++ templates" in practical tasks


The following plan is an initial proposal for the training material. The final agenda is always created based on the individual pre-training analysis of client's requirements and constraints.

  1. C++ Basics in a nutshell
    • C++ Types
    • Value Categories
    • Name Lookup
    • Swap
    • Range-based for loop
    • Special Member Functions
    • Exception Safety
  2. C++ Templates in a nutshell
    • C++ template definition
    • Template parameters
    • Template specialization
  3. Modern C++ Idioms
    • Non-Copyable
    • RAII
    • Copy-and-swap
    • Smart Pointer
    • type_identity
    • Type Traits
    • Tag dispatch
    • Policy-based design
    • EBO
    • Type Erasure
    • SOO
    • Copy-on-write
    • CRTP
    • Barton-Nackman Trick
    • Singleton
    • Customization point object (Niebloid)
    • Mixin

Get your ticket now

Number of attendees is limited, please get your spot early.

Important: please register attendees with THEIR email, important details are shared by email.

Copyright Meetingcpp GmbH Imprint Piwik Opt out Privacy Policy