CRTP
Sztuczka C++, w której klasa dziedziczy po szablonie zinstancjonowanym nią samą: class D : public Base<D>. Polimorfizm bez vtable.
James Coplien nazwał ten wzorzec w 1995 roku, gdy zauważył, że raz po raz pojawia się w prawdziwym kodzie. Istota polega na tym, że klasa bazowa zna w czasie kompilacji własny typ pochodny i może wywoływać jego metody przez static_cast<D*>(this). Wywołanie jest bezpośrednie, może zostać wstawione inline, a obiekt unika wskaźnika do tablicy funkcji wirtualnych, który kosztowałby pamięć i pośredni skok. Typowe zastosowania to mixiny dostarczające wspólne operatory, liczniki instancji oraz enable_shared_from_this z biblioteki standardowej. Składnia jest notorycznie trudna do czytania, a nowsze C++ uczyniło większość tego zbędnym dzięki konceptom i deducing this.