inline
















Funkcje inline






Funkcje inline

Mamy funkcję która liczy nam wartość minimalną dwóch zmiennych int.

int min(int a,int b)
{
return a <= b ? a : b;
}

Składnia jest bardzo prosta ale wywołanie funkcji jest bardziej czasochłonne niż
napisanie ciała funkcji kilkanaście razy w programie. Funkcję inline kompilator
uznaje jako fragment kodu. Weźmy pod uwagę powyższą funkcję i do definicji dodajmy
słowo kluczowe inline:

inline int min(int a,int b)
{
return a <= b ? a : b;
}

Teraz gdy wywołamy funkcję w kodzie:

int minimum=min(5,3);

to kompilator w tym miejscu przerobi sobie kod następująco:

int minimum=5 <= 3 ? 5 : 3;

Nie zmieni on tego w kodzie źródłowym, więc nie ma obawy że nam kompilator coś
pozmienia. Użyteczne jest to gdy mamy małe funkcje, gdyż bardzo częste ich
wywołanie, znacznie spowalnia program. Ułatwia to jednak poprawę kodu bo poprawiamy
w jednym miejscu a nie na przykład w 30.
Jeszcze jedna istotna sprawa. W funkcjach typu inline nie może być pętli, ani wstawek assemblerowych. Kompilator nie skompiluje nam takiego kodu. Często jest to wynikiem błędów. Przynajmniej u mnie. :)
inline.cpp









Wyszukiwarka

Podobne podstrony:
function cpdf place inline image
inline functions
inline
test inline
13 funkcje inline
inline asp
INLINE (3)
demo inline
inline layout desc w44zw3zfhrvqjwk3cyzqjxlrhll2hsxuhyhbspa
INLINE (7)
InlineView
inline
function cpdf place inline image
plugin inlinepopups
inline (5)
InlineView

więcej podobnych podstron