developers, architects
2 days

C++17 is the name for the most recent revision of the ISO/IEC 14882 standard for the C++ programming language.

C++17 despite being an incremental update of the C++ Programming Language provided quite a bunch of new tools and features. Among others, it introduced new data types, the means to finally communicate with the underlying file system, and parallel versions of std algorithms. Features like structured bindings and many modifications done to existing things made the language easier and friendlier to use. Besides, this is the first revision of C++ that not only added new features but also removed a few.

This training teaches nearly all the changes introduced by C++17. During interactive workshops, students will be able to play with the most important of them.

The course is targeted to C++ developers with intermediate C++ knowledge. They should be already aware of the major features introduced by C++11 and C++14 language versions.


  • Detailed introduction of the most important features and changes of C++17 language
  • Special focus on describing what was the reason of adding each change and what is improved by it
  • Hands-on workshops to master usage of the most important new tools


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

  1. Core language additions and changes
    1. Templates and Generic Code
    2. Lambda expressions
    3. Attributes
    4. Syntax cleanup
    5. Cleaner multi-return and flow control
    6. Misc
  2. Library additions and changes
    1. New data types
    2. Invoke tools
    3. File System
    4. New algorithms
    5. Parts of Library Fundamentals TS
    6. Threading
    7. Container improvements
    8. Smart pointer changes
    9. Type Traits
    10. Misc
  3. Deprecated features
  4. Removed features
developers, architects
2 days


Mateusz Pusz