developers, architects
2 days

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

Despite being an incremental update of the C++ Programming Language, C++17 provided quite a bunch of new tools and features. Among others, it introduced new data types, the means to communicate with the underlying file system, and parallel versions of standard algorithms. Features like structured bindings and many other modifications 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 significant ones.

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

The course targets C++ developers with an intermediate C++ knowledge. They should be already aware of the significant features introduced by the C++11 and C++14 language versions.


  • Detailed introduction of the most important features and changes of the C++17 language
  • Particular focus on describing the reason and benefit of adding each change
  • Hands-on workshops to master usage of the most important new tools


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 the client's requirements and constraints.

  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