Odpovídáte na názor ke článku C++: Mapování hodnot z runtime na integrální konstanty.
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 58 082×
Přečteno 27 881×
Přečteno 26 536×
Přečteno 24 439×
Přečteno 22 943×