Odpovídáte na názor ke článku C++: Mapování hodnot z runtime na integrální konstanty.
Zajímavé, článek hovoří o konverzi čísla z run-time do compile-time, ale demonstrační příklad v CompilerExploreru kompilátor bohužel zoptimalizuje. Doporučuji změnit z
int main() {
int index = 1;
MyVariant v1 = create_variant_by_index(index);
std::cout << std::holds_alternative<std::string>(v1) << std::endl;
return 0;
}
na
int main(int argc, char**) {
int index = argc;
MyVariant v1 = create_variant_by_index(index);
std::cout << std::holds_alternative<std::string>(v1) << std::endl;
return 0;
}
aby hodnota přišla skutečně z run-time. Výsledný assembler je delší.
S pozdravem,
Marek.
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×