Přímo ten kód takhle nejde napsat, ale celá pointa je v tom, že jsem schopen nechat vygenerovat všechny varianty pro i, to mi překladač připraví a ja pak podle hodnoty vyberu adekvátní variantu. Zde je ukázka pro 10 variant pro hodnoty 0 až 9.
template<int i> struct NejakaStruktura; auto funkce_ktera_nejde_prelozit(int v) { return number_to_constant<0,9>(v, [](auto x) { if constexpr(x.valid) { NejakaStruktura<x.value> a; //... pracuj s a ... return //vysledek } }); }
Intenzivně se zabývám programováním zejména v jazyce C++. Vyvíjím vlastní knihovny, vzory, techniky, používám šablony, to vše proto, aby se mi usnadnil život při návrhu aplikací. Pracoval jsem jako programátor ve společnosti Seznam.cz. Nyní jsem se usadil v jednom startupu, kde vyvíjím serverové komponenty a informační systémy v C++
Přečteno 50 890×
Přečteno 23 805×
Přečteno 22 794×
Přečteno 20 804×
Přečteno 17 676×