What is Copy Elision, RVO & NRVO?

Copy elision is an optimization technique in which the compiler ignores the class's copy and move…

What is a Tuple, a Pairs and a Tie in C++

to make the data more and more organized, C++11 has introduced a new concept of tuple.…

Overloading unary operators: Prefix (++a) and Postfix (a++ )

Whereas, with operator calls, parameters are placed in the position of their operands. The case of…

Curiously Recurring Template Pattern (CRTP)

CRTP is a technique of achieving static polymorphism. And this technique is also called F-bound polymorphism…

How pointer to member functions in C++ is different ?

The pointer to member functions in C++ is a special concept. This is different from ordinary…

Diamond problem in inheritance – Overheads

Diamond problem in inheritance is a consequence of multiple inheritance which leads to duplication of data.…

Multiple inheritance & virtual base classes

In multiple inheritance, one way to solve this ambiguity problem is to use virtual base classes,…