What you'll learn
- What programming idiom is
- Most common C++ idioms
- C++ polymorphism idioms
- C++ resource management idioms
- C++ optimization idioms
- C++ type system idioms
- C++ templates idioms
Course content
- Preview02:31
- 00:14Source code link
Requirements
- At least basic knowledge of C++
Description
This course is about common C++ idioms that are related to:
- types system (return type resolver, type erasure, etc.)
- polymorphism (CRTP, virtual constructor)
- dependencies (PIMPL)
- templates (SFINE, enable-if, object generator)
- resource management (RAII, reference counting, resource return)
- optimization (SOO, EBO)
Idioms emerge from certain features of a programming language or a lack of them. Thus, learning C++ idioms helps better understand this language.
While learning those idioms, we will touch upon many parts of C++ like template parameters, including parameter pack, overload resolution, types of polymorphism, casting, conversion operators, placement new, special member functions, friend declarations, type deduction, etc.
Who this course is for:
- Beginner - intermediate C++ developers
- Students (either self-taught or at university) learning C++
Instructor
I am a software engineer and currently working in a 5G mobile technology project, programming in C++ on a daily basis.
My programming skills encompass mainly C++, TTCN3, Python, Django, JavaScript, Vue.js, PostgreSQL, Elasticsearch, etc.
In my free time I work on building own platform in the domain of legaltech or learn new technologies and algorithmic.