Klausimai pažymėti „crtp“

Smalsus modelio dublikatas (CRTP) yra C ++ idiomas, kuriame X klasė gaunama iš klasės modelio egzemplioriaus, naudojant X kaip šablono argumentą.
5
atsakymai

Kas yra įdomus modelio kartojimas (CRTP)?

Nepaminėdami knygos, ar kas nors gali paaiškinti gerą CRTP aprašymą su pavyzdiniu kodu?
nustatyti lapkričio 13 d '10, 18:30
7
atsakymai

„Java Enum“ apibrėžimas

Man atrodė, kad esu gerai susipažinęs su „Java“ generiniais vaistais, bet tada java.>
nustatyti 17 okt. '08 8:14
4
atsakymai

CRTP, kad būtų išvengta dinaminio polimorfizmo

Kaip galiu naudoti CRTP C ++, kad būtų išvengta virtualių narių veiksmų?
lapkričio 4 d. '08, 7:07 val
5
atsakymai

Neteisingas nebaigto tipo naudojimas

Bandau naudoti typedef iš savo poklasio, aš pabrėžiau savo problemą toliau pateiktame pavyzdyje. Ar kas nors žino, kur aš esu neteisingas? šablonas <typename pogrupis> A klasė {public: // Kodėl tai nepatinka? negaliojantis veiksmas (ty ...
nustatė, kad kovo 17 d
6
atsakymai

Statinis polimorfizmas C ++ (CRTP) ir tipedefų naudojimas iš gautų klasių

Aš perskaičiau Wikipedia straipsnį apie keistai pasikartojantį šablono modelį C + +, norint atlikti statinį (skaitymo: kompiliavimo laiko) polimorfizmą. Norėjau jį apibendrinti taip, kad galėčiau pakeisti grįžtamojo tipo funkcijas pagal išvestį. (Atrodo ...
gegužės 15 d. 11 val
6
atsakymai

Praktinis naudojimas "keistai kartojant modelio šabloną"

Kokie praktiniai panaudojimo būdai yra keistam kartotiniam modelio šablonui „?“ apskaičiuotas klasės pavyzdys, kuris paprastai rodomas, nėra įtikinamas pavyzdys man.
nustatytas 29 sep. '08, 6:54 val
3
atsakymai

operatorius = ir funkcijos, kurios nėra paveldėtos C + +?

Prieš bandymą, kurį ką tik padariau, suprato, kad tik konstruktoriai nebuvo paveldėti C ++. Bet, matyt, operatoriaus paskirtis = ne per daug ... Kokia priežastis? Ar yra kokių nors problemų dėl paveldėjimo operatoriaus paveldėjimo ...
rugpjūčio 17 d. '12 19:50
6
atsakymai

Neleiskite vartotojui gauti neteisingos CRTP duomenų bazės

Negaliu galvoti apie teisingą klausimą problemai apibūdinti. Tikiuosi, kad toliau pateiktos detalės mano problemai išsiaiškins. Apsvarstykite šį kodą #include <iostream> šabloną <typename Išvestinė> klasė Base {public: void ...
birželio 27 d. 12 val
7
atsakymai

CRTP ir pakopinis paveldėjimas

Mano draugas manęs paklausė: „Kaip naudoti CRTP, siekiant pakeisti polimorfizmą daugiapakopiame paveldime“. Tiksliau, šioje situacijoje: struct A {void bar () {// kažką daro ir tada skambina foo (galbūt) išvestoje klasėje: foo (); } ...
rugpjūčio 11 d '13 20:02
4
atsakymai

Apsaugoti CRTP šabloną iš „grynų virtualių“ skambučių

Apsvarstykite šį standartinį CRTP pavyzdį: #include <iostream> template <class Derived> struct Base {void f () {static_cast <Derived *> (tai) -> f (); } void g () {static_cast <Derived *> (tai) -> g (); }}; struktūros ...
yra nustatytas liepos 18 d. 17:50
3
atsakymai

Kaip parašyti įdomius kartojimus su daugiau nei dviem paveldėjimo sluoksniais?

Visa medžiaga, kurią perskaičiau keistai pasikartojančiame šablono šablone, atrodo, yra vienas paveldėjimo sluoksnis, ty bazinis ir išvestinis: bazė <Derived>. Ką daryti, jei noriu eiti vienu žingsniu toliau? #include <iostream> naudojant std :: cout; te ...
gegužės 12 d. 10 val
2
atsakymai

CRTP su šablono šablono argumentais

Šis kodas nekompiliuoja ... namespace {template <typename T, šablonas <typename> D klasė> struct Base {Base (const T _t): t (_t) {} T t; };
nustatė sausio 12 d '16, 12:15
2
atsakymai

Refleksinio tipo parametro apribojimai: X <T>, kur T: X <T> yra bet kokios paprastesnės alternatyvos?

Kiekvieną kartą, kai atlieku paprastą sąsają, sudėtingiau pridedu savireguliavimo parametro („refleksyvaus“) apribojimą. Pavyzdžiui, galiu įjungti šią funkciją: sąsaja ICloneable {ICloneable Clone (); } klasė Avys: „ICloneable“
15 Jan '12 - 1:57