crtp

Co to jest curiously recurring template pattern (CRTP)?

Bez odwoĹ 'ania do ksiÄ ... Ĺźki, czy ktoĹ" moĹźe podaÄ ‡ dobre wyjaĹ "nienie CRTP przykĹ' adem kodu?

Java Enum definition

Myślałem, że dobrze rozumiem generyki Javy, ale potem natknąłem się na następujące rzeczy w Javie.lang.Enum: class Enum< ... śnić jak interpretować ten parametr typu? Punkty bonusowe za podanie innych przykładów zastosowania podobnego parametru typu.

Praktyczne zastosowania " ciekawie powtarzającego się wzorca szablonów"

Jakie są praktyczne zastosowania"ciekawie powtarzający się wzór szablonu "? Często pokazywany przykład" policzone klasy " nie jest dla mnie przekonującym przykładem.

Polimorfizm statyczny C++ (CRTP) i wykorzystanie typedefów z klas pochodnych

Przeczytałem artykuł Wikipedii o ciekawie powtarzającym się wzorze szablonów w C++ do wykonywania polimorfizmu statycznego ( ... r of 'derived<T>' G++ 4.1.2 (via codepad.org ) mówi error: no type named 'value_type' in 'class derived<int>'

nieprawidłowe użycie niekompletnego typu

Próbuję użyć typedef z podklasy w moim projekcie, wyizolowałem mój problem w poniższym przykładzie. Czy ktoś wie, gdzie idę ... d from here test.cpp:5: error: invalid use of incomplete type ‘class B’ test.cpp:10: error: forward declaration of ‘class B’

operator = i funkcje, które nie są dziedziczone w C++?

Dopóki nie zrobiłem testu, wierzyłem, że tylko konstruktory nie są dziedziczone w C++. Ale najwyraźniej Zadanie operator= nie ... , 3> x; x() = 3; // <- This is OK x = 3; // <- error: no match for 'operator=' in ' x=3 ' return 0; }

Jak pisać ciekawie powtarzające się szablony z więcej niż 2 warstwami dziedziczenia?

Cały materiał, który przeczytałem o ciekawie powtarzającym się wzorze szablonów, wydaje się być jedną warstwą dziedziczenia, ... rdziej eleganckiego sposobu korzystania z CRTP na długich łańcuchach dziedziczenia, takich jak GuiElement, Window i Alertbox.

Uniemożliwia użytkownikowi korzystanie z nieprawidłowej bazy CRTP

Nie mogę myśleć o odpowiednim tytule pytania, aby opisać problem. Mam nadzieję, że szczegóły poniżej wyjaśnia mój problem jas ... z rozwiązań jest użycie dynamic_cast. Jest to jednak ekspansywne i nawet wtedy, gdy działa jest to błąd w czasie wykonywania.