In questo articolo illustriamo un esempio e una spiegazione esaustiva ma concisa sulle funzioni inline in C++. Partò dalla presupposizione che sappiate già le basi del C e del C++, per cui vado subito all’esempio pratico, per descriverne le caratteristiche e varie:

//—————————————————————————

/* Funzioni inline */

//—————————————————————————

#include <stdio.h>
#include <iostream>

using namespace std;

inline int max(int a, int b)
{
return a > b ? a : b;
}

int main(int argc, char* argv[])
{
cout << max(10, 20);
cout << ” ” << max(99, 88);

getchar();
return 0;
}
//—————————————————————————

La funzione inline si dichiara antecedendo appunto la parola chiave inline che non fa altro che effettuare una richiesta al processore, che può anche teoricamente non accettare tale richiesta. La richiesta chiede appunto, come fa register un trattamento speciale. La funzione viene eseguita ogni volta che è necessario e non richiamata, quindi evitiamo tante operazioni e uso di memoria eccessivo. Le funzioni inline possono essere anche membri di classi. Consiglio comunque di usare tale tipologia di funzioni solo in casi in cui le funzioni sono molto concise o comunque al posto di normali funzione che rallentano di molti le prestazioni del software. C’è da annotare che alcuni compilatori non accetteranno sempre e comunque tutte le funzioni inline, per via di certe eccezzioni, in tal caso, il compilatore tratterà la funzione come una normale funzione!