Maintain Your Iterations – The Iterators Secret – Part 1

The first part of iterators explanation. Why should you use iterators? Which kinds of iterators exist? How can iterators help you to maintain and optimize your code? And what is the secret behind iterators?

Lambda, Expressions, and between them โ€“ The Lambdas Mystery โ€“ Part 2

The second part of lambda expressions explanation. Behind the scenes of lambda expressions: What lambda expressions truly are? How can they capture variables? How can we use auto params in C++14 lambdas when this feature came only in C++20? Behind the scenes from C++11 to C++20 of lambdas.

Lambda, Expressions, and between them – From 11 to 20 – Part 1

Lambda expressions usages in C++ since C++11 to C++20. Features, rules, usages and abilities. Why do we need it, and how can we get more maintainable code by using it?

Template Base Class Collection

How to create a collection of a template base class? How to create a single collection for multiple similar interfaces? Based on Sean Parent talk "Inheritance Is The Base Class of Evil".

Substitution Failure is Not an Error – SFINAE

The 11th post in C++ meta programming series. What is SFINAE? How and When to use it? And when should we avoid using it?

Become a Compile-Time Coder

The 10th post in C++ meta programming series. How to use compile-time functions from C++11 to C++20? How to define user-defined compile-time types? What is constexpr and how does it tie up all of the above?

The Exact Solution for a Generic Problem – Part 2

The 9th post in C++ meta programming series. How to protect our solution from less experienced developers in variadic template development cases? Restrictions over variadic params from C++11 to C++20.

The Exact Solution for a Generic Problem – Part 1

The 8th post in C++ meta programming series. What is the problem with a generic solution? Why should we pay extra attention when we solve a problem in a generic way? And how to protect our solution from less experienced developers?

Templates Infinity Theory – From C++11 to C++20 – Part 2

The 7th post in C++ meta programming series. Learn about variadic templates in C++17- How does C++17 helps us handle them, when to use / don't use fold expressions, and what things we need to draw a close attention to when we use them?

Templates Infinity Theory – From C++11 to C++20 – Part 1

The 6th post in C++ meta programming series. Learn about variadic templates- How to use them, and about how to make the code more flexible and maintainable with them.