Modern C++ idioms [English]

  • Stream 3
  • Intramural
  • 10:00
  • EN

C++ is no longer C with classes and it never was only an Object Oriented language. C++ is a general-purpose programming language. It has imperative, 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#.
What you will learn:
During the workshop, we will refresh and broaden our knowledge about C++ templates and will learn Modern C++ Idioms. Crafting those skills will allow us to build powerful tools that are useful in the everyday work of every C++ developer.
Experience required:
In order to be able to follow the workshop, you should be current with C++ and have some recent experience with writing simple C++ templates. C++11/14 knowledge is suggested but not mandatory.
Environment:
A laptop with a relatively new C++ compiler. It is recommended to have the latest version of one of the compilers (Visual Studio, gcc or clang).
Language:
English.
Idioms to be covered (plan):
- Non-Copyable
- RAII
- Copy-and-swap
- Smart Pointer
- Type Traits
- Tag dispatch
- Policy-based design
- EBO
- Type Erasure
- SOO
- Copy-on-write
- CRTP
- Singleton

Mateusz Pusz

Chief Software Engineer, EPAM, Gdańsk, Poland

A software architect, chief engineer, and security champion with more than 15 years of experience in designing, writing and maintaining C++ code for fun and living. C++ consultant, trainer, conference …