Templates: CRTP

In this lesson, we will learn about curiously recurring template patterns in modern C++.

We'll cover the following


The acronym CRTP stands for the C++ idiom Curiously Recurring Template Pattern. CRTP is a technique in Modern C++ in which a Derived class derives from a class template Base. The key is that Base has Derived as a template argument.

Let’s have a look at an example:

template<class T> 
class Base{

class Derived: public Base<Derived>{ 

CRTP enables static polymorphism.

Get hands-on with 1000+ tech skills courses.