Partager via


Quand utiliser les fonctions inline

Les fonctions inline sont mieux utilisées pour les petites fonctions telles que les accès aux membres de données privées.L'objectif principal de cet un ou fonctions de deux lignes « accesseur » est de retourner des informations d'état sur les objets ; les fonctions de courtes ne respectent pas la charge mémoire des appels de fonction.De plus longues fonctions passent proportionnellement moins de temps dans appeler ou le retour la séquence et l'avantage moins de la fonctionnalité inline.

Exemple

La classe d' Point , introduite dans résultats de Fonction-Appel peuvent être optimisées comme suit :

// 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()
{
}

La manipulation de coordonnées supposant que est une opération relativement courante dans un client d'une telle classe, en spécifiant les deux fonctions d'accesseur (x et y dans l'exemple précédent) comme inline enregistre en général la charge en fonction :

  • Appels de fonction (paramètre y compris le passage et plaçant l'adresse de l'objet dans la pile)

  • conservation du frame de pile de l'appelant

  • Nouvelle installation du frame de pile

  • communication de valeur de retour

  • Restauration ancienne du frame de pile

  • Return

Voir aussi

Référence

inline, __inline, __forceinline