Quando utilizzare le funzioni inline
Le funzioni inline risultano particolarmente adatti per le piccole funzioni come accedere ai membri dati privati.Lo scopo principale di questo uno o raddoppiano le funzioni di “funzione di accesso„ è di restituire le informazioni sullo stato degli oggetti, le funzioni brevi sono riservate al sovraccarico di chiamate di funzione.Le funzioni più lunghe passano proporzionalmente meno tempo nel chiamare/che restituisce la sequenza e di meno da inline.
Esempio
Point classe, introdotta in Risultati delle chiamate di funzione è possibile ottimizzare come segue:
// when_to_use_inline_functions.cpp
class Point
{
public:
// Define "accessor" functions as
// reference types.
unsigned& x();
unsigned& y();
private:
unsigned _x;
unsigned _y;
};
inline unsigned& Point::x()
{
return _x;
}
inline unsigned& Point::y()
{
return _y;
}
int main()
{
}
Si supponga la modifica coordinata rappresenta un'operazione comune in un client di tale classe, specificando le due funzioni di accesso (x e y nell'esempio precedente) come inline generalmente salva il sovraccarico su:
Chiamate di funzione (passare dei parametri tra e posizionare l'indirizzo dell'oggetto nello stack)
Conservazione dello stack frame del chiamante
Nuova impostazione dello stack frame
comunicazione di valore restituito
Ripristino precedente dello stack frame
Return