Funzioni inline C ++
C ++ inlinefunzione è un concetto potente comunemente usato con le classi. Se una funzione è inline, il compilatore inserisce una copia del codice di quella funzione in ogni punto in cui la funzione viene chiamata in fase di compilazione.
Qualsiasi modifica a una funzione inline potrebbe richiedere la ricompilazione di tutti i client della funzione perché il compilatore dovrebbe sostituire tutto il codice ancora una volta, altrimenti continuerà con la vecchia funzionalità.
Per incorporare una funzione, inserisci la parola chiave inlineprima del nome della funzione e definire la funzione prima di effettuare qualsiasi chiamata alla funzione. Il compilatore può ignorare il qualificatore inline nel caso in cui la funzione definita sia più di una riga.
Una definizione di funzione in una definizione di classe è una definizione di funzione inline, anche senza l'uso di inline specificatore.
Di seguito è riportato un esempio, che utilizza la funzione inline per restituire un massimo di due numeri:
#include <iostream>
using namespace std;
inline int Max(int x, int y) {
return (x > y)? x : y;
}
// Main function for the program
int main() {
cout << "Max (20,10): " << Max(20,10) << endl;
cout << "Max (0,200): " << Max(0,200) << endl;
cout << "Max (100,1010): " << Max(100,1010) << endl;
return 0;
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
Max (20,10): 20
Max (0,200): 200
Max (100,1010): 1010