[ Nibble @ 22.08.2005. 11:51 ] @
Moze li mi ko objasniti kakve su to inline funkcije i koja je razlika izmedju inline i obicnih funkcija.Evo imam jedan primjer al nekontam ga jer se cini kao "obicna" funkcija.
Code:

   #include <iostream.h>

   inline int Double(int);

   int main()
   {
     int target;

    cout << "Enter a number to work with: ";
    cin >> target;
    cout << "\n";

    target = Double(target);
    cout << "Target: " << target << endl;

    target = Double(target);
    cout << "Target: " << target << endl;


    target = Double(target);
    cout << "Target: " << target << endl;
       return 0;
  }

  int Double(int target)
  {
    return 2*target;
 }
[ X Files @ 24.08.2005. 10:06 ] @
Kada se poziva nekakva funkcija, dogadja se *principijelno* nekoliko stvari:

1) trenutni sadrzaj registara se stavlja na stek
2) poziva se data funkcija (sa parametrima)
3) vraca se sa steka stanje registara pre poziva

E sad, ove faze 1 i 3 ipak oduzimaju neko procesorsko vreme. Kada neku
funkciju proglasis 'inline', ona BI TREBALO da se direktno ugradi u kod na
mesto u kome se nalazi poziv. Dakle, vise zapravo nije poziv nego obican
kod koji je ugradjen umesto funkcije. U tvom slucaju EXE bi bio veci sa
inline jer se na 3 mesta UGRADJUJE funkcija.

Ovakve, 'inline' funkcije je pozeljno imati kada jhe potreba veca brzina obrade
u petljama. Dakle, da bi se izbeglo stalno pozivanje funkcije, jednostavno se ona
direktno ugradi unutar petlje.

Koliko se secam, nekada 'inline' stavio ga ili ne, nece biti prihvaceno, a neke
funkcije su automatski inline ...
[ itf @ 24.08.2005. 17:46 ] @
Inline funkcija će cijelo svoje tijelo kopirati na mjesto poziva.
Iz tog istog razloga NIJE POŽELJNO da takva funkcija sadrži deklaracije polja itd.
jer će se deklaracija tog polja dogoditi svaki put kada se funkcija pozove.

Prilikom rada sa klasama sve funkcije, članice neke klase, čija su tijela napisana
unutar same definicije klase su po defaultu inline funkcije. Kod ostalih se to naknadno navodi sa ključnom riječi inline.
[ Dragi Tata @ 24.08.2005. 17:51 ] @
Pročitaj ovo: http://www.gotw.ca/gotw/033.htm