Re: sprintf - co dělám blbě?
Miroslav Mraz
mrazik na volny.cz
Úterý Duben 16 17:46:19 CEST 2024
Typicky
/* static constexpr */ unsigned factorial (const unsigned n) {
if (n == 1u) return 1u;
return n * factorial(n - 1u);
}
fakticky rekurzi vůbec neprovádí (gcc, -Os), je tam cyklus. A pokud
necháte to constexpr a argument je také constexpr, pak celá ta funkce
úplně zmizí a překladač použije rovnou vypočtenou hodnotu. Ty mrchy
překladače umí optimalizovat dost dobře.
Mrazík
On 15. 04. 24 21:54, Jan Waclawek wrote:
> (jinak si to překladač dokáľe převést na cyklus)
>
> Vazne? Hm, to by som necakal.
>
> Chcelo by to vyskusat, ale tolko energie nemam.
>
>>
Další informace o konferenci Hw-list