
C++


Beautiful code #6 - std::copy_if, std::remove_copy_if, std::copy, std::execution::par_unseq, std::back_inserter 👋
std::copy_if
, std::remove_copy_if
, std::copy
, std::back_inserter
, and std::execution::par_unseq
are features from C++11 and C++98 that helps efficiently copy from one data structure to the another.

Beautiful code #5 - std::for_each, std::ranges::for_each, std::optional, std::execution::par_unseq, mutable 👋
std::for_each
, std::ranges::for_each
, std::optional
, and std::execution::par_unseq
are features from C++20 and C++23 that helps efficiently loop through the loop, loop in parallel, add optional values in the data structure of your choice, etc.

Polymorphism in C++ 👋
Polymorphism means many forms. Ability of a message to be displayed in many forms is what it is all about. Polymorphism is very important feature in Object Oriented Programming. In C++, we have four different types of polymorphism as mentioned below

A Taxonomy of Expression Value Categories in C++👋
C++ had value categories in C++0X version. The two value categories that were before C++11 are lvalues and rvalues. One of the greatest addition to C++11 was the introduction of movable types. Learning about the value categories is one of the pre-requisites to learn about move semantics. Any expression before the C++11 standard was either lvalue or rvalue. lvalue has an identity and its lifetime depends on the scope of the variable. On the other hand, rvalues don’t have an identity and it does not live beyond the life of the expression.

Using Templates for Generic Programming - Part 1 (Embracing the beauty of SFINAE and enable_if)👋
In this blog post, we will learn advanced template programming concepts. These concepts include how to change the implementation of classes and functions based on the type provided, how to work with different arguments and how to properly forward them, how to optimize the code in both runtime and compile-time, about SFINAE, std::enable_if
, std::enable_if_t
.

C++ Best Practice #1: Don't simply use: using namespace std; 👋
Never try to import the whole std namespace into your program. Namespaces are developed to avoid naming conflicts. But, when we import the whole namespace there is a possibility that this could lead to name conflicts. You can do more harm than more good.