Jazyk C (po standardizaci 1999, C99) a C++ umožňují definovat funkce jako inline, jinak řečeno jako vložené funkce.
K čemu že je to dobré?
Každé volání funkce něco stojí – alespoň procesorový čas. A ve chvíli, kdy nějakou funkci voláte v cyklu stokrát, tisíckrát, miliónkrát (pro každého je "drahé" jinak velké), může být ušetřený procesorový čas znát.
Jak to funguje?
Podobně jako makro. Když kompilátor narazí na klíčové slovo inline v dekalraci funkce, pochopí, že by asi bylo dobré, kdyby se ta funkce nevolala příliš často (z hlediska úspory procesorového času). Vezme tedy tělo této funkce a vloží jej přímo do místa, odkud se funkce volá.
Příklad pro jazyk C a neobjektové funkce C++
K čemu že je to dobré?
Každé volání funkce něco stojí – alespoň procesorový čas. A ve chvíli, kdy nějakou funkci voláte v cyklu stokrát, tisíckrát, miliónkrát (pro každého je "drahé" jinak velké), může být ušetřený procesorový čas znát.
Jak to funguje?
Podobně jako makro. Když kompilátor narazí na klíčové slovo inline v dekalraci funkce, pochopí, že by asi bylo dobré, kdyby se ta funkce nevolala příliš často (z hlediska úspory procesorového času). Vezme tedy tělo této funkce a vloží jej přímo do místa, odkud se funkce volá.
Příklad pro jazyk C a neobjektové funkce C++
inline int AMinusB2(int a, int b)
{
return (a-b)*(a-b) ;
}
Příklad inline metody v C++ třídě
V uvedeném příkladu je metoda add() považována za inline, neboť má své tělo přímo v deklaraci.class Fred {
public: add(int a,int b){ return a+ b; } };
McritasOpe-ma Julie Lenz https://marketplace.visualstudio.com/items?itemName=9liaburtio-ge.Descargar-100-Hidden-Birds-gratuita-2021
ReplyDeletekeyronmosi
0crescecongbu Eric Kowalski Awesome
ReplyDeleteget
There
rolhandtese