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