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
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 development engineer.
I am currently working on a cloud project in Amazon using Java, TypeScript and AWS.
Before that I have worked on a 5G mobile technology project in Nokia programming in C++, TTCN3 and Python.
Moreover, I worked on web projects using Python, Django, JavaScript, Express, React, Next, Vue, PostgreSQL, Elasticsearch, etc.
All materials and opinions in the courses are my own and not of my employers.