The C++ Compass

The C++ Compass
>FAQ<

FAQ

Home
Home

Risorse
Risorse

Utilities
Utilities

Compilatori
Compilatori

GUI Toolkits
GUI Toolkits

Libri
Libri

Download
Download

FAQ
FAQ



whoami
Who am I
[Precedente] [Indice] [Successiva]


[Varie]


Quali sono i vantaggi delle funzioni inline ?

La keyword inline serve a chiedere al compilatore di non generare una normale chiamata di funzione, ma di inserire il codice della stessa laddove avviene la chiamata.

Es. :

#include <iostream>

inline void Pippo()
{
 std::cout << (1+2);
}

int main()
{
 ...
 Pippo();
 ...
}

Il compilatore trasforma la funzione int main() nella forma :
int main()
{
 ...
 std::cout << (1+2);
 ...
}


Il vantaggio è che si evita l'overhead imposto da una chimata di funzione, ma presenta lo svantaggio di aumentare le dimensioni dell'eseguibile e quindi le funzioni inline vanno utilizzate con attenzione e solo in punti chiave del codice.

Perchè una funzione membro venga espansa inline non è necessario implementarla nella dichiarazione di classe; è possibile eseguire semplicemente una dichiarazione e poi implementarla fuori dalla dichiarazione di classe utilizzando esplicitamente la keyword inline :

inline <ReturnType> <NameClass>::<MemberFunc>( ... )
{
 ...
}


Il vantaggio è quello di rendere più leggibile la dichiarazione di classe (cosa utile per rapide consultazioni dell'header)




Ultimo aggiornamento : 03/07/2000

email webmaster@thecppcompass.org