How to avoid compiler generated constructor and destructor

To avoid compiler generated constructor and other special functions, a class may declare such functions as…

How to delete a function in C++11

This article shall explain different scenarios about how to delete a function in C++11. Also, how…

What is move constructor and why it take r-value?

Since, C++11, apart from existing compiler generated functions 2 more special functions are generated , these…

What is C++ reference collapsing, how it works?

With these c++ reference combinations, the compiler follows certain rules to collapse references to references and…

Benefit of using override keyword?

To override a virtual function, the functions in derived class must have exactly same signatures as…

Understanding exception specification for functions

The exception specification is part of function signature and it tells which type of exceptions the…

What is c++ template meta programming (TMP)

using recursive template instantiations. To terminate the recursion, a c++ template specialization is needed as shown…

Calling member functions in base template class

When the base is template class, then compiler cannot simply call base class members in derived…

What are dependent scope type in templates?

Dependent type are types that depends on the template parameter. These dependent types are access via…

How std forward( ) converts to r-value in c++?

Just like, std::move( ), std::forward( ) also casts its argument (to R-value), however, unlike move( )…

Smart Pointer: understanding unique_ptr

C++ smart pointers: std::unique_ptr does everything which std::auto_ptr does, plus it also takes care of exclusive…

std move () : How this template function works?

The std::move( ) is a function template which perform static casts. The std::move( ) unconditionally casts…