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 57 606×
Přečteno 27 722×
Přečteno 26 403×
Přečteno 24 367×
Přečteno 22 864×