cpp/language/crtp

The is an idiom in which a class  derives from a class template, taking a template parameter , where  is instantiated with. For example,