CRTP
Der C++-Trick, bei dem eine Klasse von einer mit sich selbst instanziierten Vorlage erbt: class D : public Base<D>. Polymorphie ohne vtable.
James Coplien benannte das Muster 1995, nachdem er es immer wieder in echtem Code entdeckt hatte. Der Clou: Die Basisklasse kennt ihren eigenen abgeleiteten Typ schon zur Kompilierzeit und kann dessen Methoden daher über einen static_cast<D*>(this) aufrufen. Der Aufruf ist direkt, lässt sich inlinen, und das Objekt braucht keinen Zeiger auf eine virtuelle Tabelle, der sonst sowohl Speicher als auch einen indirekten Sprung kostet. Typische Anwendungen sind Mixins für gemeinsame Operatoren, Instanzzähler und die Standardbibliotheksklasse enable_shared_from_this. Die Syntax gilt als notorisch schwer lesbar, und neueres C++ hat das meiste davon mit Concepts und "deducing this" überflüssig gemacht.