Suchergebnisse für Anfrage "crtp"

2 die antwort

CRTP mit virtueller Vererbung verwenden

Ich habe eine Hierarchie von Knoten, wo "Diamant" auftreten kann. Jeder Knoten muss klonbar sein, aber ich möchte nicht auf jeden Knoten eine Klonmethode schreiben. Also benutze ich CRTP. class Node { public: Node(){} Node(Fill*) { } virtual ...

3 die antwort

Statischer Polymorphismus mit CRTP: Verwenden der Basisklasse zum Aufrufen abgeleiteter Methoden

Einer der Hauptvorteile vonvirtual In C ++ kann die Basisklasse (Zeiger oder Referenz) zum Aufrufen abgeleiteter Methoden verwendet werden. Ich lese weiterVerwenden von CRTP zur Implementierung des ...

1 die antwort

Seltsamerweise wiederkehrende Vorlagen- und Vorlagenparameter-abhängige Unterklassenprobleme

Ich versuche, den folgenden Code zum Laufen zu bringen template < class __derived, class __object = typename __derived::Object > struct Base { using Derived = __derived; using Object = __object; void function(Object o) { return ...

TOP-Veröffentlichungen

4 die antwort

Eine polymorphe Sammlung von kurioserweise wiederkehrenden Vorlagenmustern (CRTP) in C ++?

Ich habe eine KlasseBase von denen ich zwei Klassen habe,DerivedA undDerivedB Wie unten definiert. template <typename Derived> class Base{ public: double interface(){ static_cast<Derived*>(this)->implementation(); } }; class Derived,A : ...

2 die antwort

enerische Zirkelreferenzen erstell

Ich schreibe eine Anwendung für verteilte Berechnungen in einem Peer-to-Peer-Netzwerk. Bei der Definition des Netzwerks habe ich zwei Klassen: P2PNetwork und P2PClient. Ich möchte, dass diese generisch sind und die folgenden Definitionen ...

2 die antwort

Zwei verschiedene Mixin-Patterns in C ++. (mixin? CRTP?)

Ich lerne über Mixins (in C ++). Ich habe einige Artikel über Mixins gelesen und in C ++ zwei verschiedene Muster für die "Annäherung" von Mixins gefunden. Muster 1: template<class Base> struct Mixin1 : public Base { }; template<class ...

4 die antwort

Wie kann CRTP gegen die Bereitstellung einer falschen Superklasse gesichert werden? [Duplikat

Diese Frage hat hier bereits eine Antwort: Wie vermeide ich Fehler bei der Verwendung von CRTP? [/questions/4417782/how-to-avoid-errors-while-using-crtp] 5 AntwortenIn demkuschelig wiederkehrendes ...

4 die antwort

CRTP Kompilierungsfehler

Das Folgende wird mit GCC 5.2 kompiliert, jedoch nicht mit Visual Studio 2015. template <typename Derived> struct CRTP { static constexpr int num = Derived::value + 1; }; struct A : CRTP<A> { static constexpr int value = 5; };s beschwert sich, ...

4 die antwort

Curiously Recurring Template Pattern (CRTP) mit statischem Constexpr in Clang

Betrachten Sie mein einfaches Beispiel unten: #include <iostream> template <typename T> class Base { public: static constexpr int y = T::x; }; class Derived : public Base<Derived> { public: static constexpr int x = 5; }; int main() { std::cout ...

2 die antwort

Initialisierung eines statischen Constexpr-Datenelements der Basisklasse mithilfe eines statischen Constexpr-Datenelements der abgeleiteten Klasse

Betrachten Sie den folgenden Code: template<typename T> struct S { static constexpr int bar = T::foo; }; struct U: S<U> { static constexpr int foo = 42; }; int main() { }GCC v6.1 [https://godbolt.org/g/xDmBPW] kompiliert es,clang ...