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

Vedere anche

Riferimenti

inline, __inline, __forceinline