Compartir a través de


Cuándo utilizar funciones inline

Las funciones inline son útiles para las funciones pequeñas como acceso a miembros de datos privados.El propósito principal de este uno o las funciones de “descriptor de la dos-línea es devolver información de estado sobre objetos; las funciones cortas son sensibles a la sobrecarga de llamadas de función.Funciones más largas pasan proporcionalmente menos tiempo en la llamada o el cambio la secuencia y el marcado menos de inclusión.

Ejemplo

La clase de Point , incluida en resultados de la llamada de función puede ser optimizada como sigue:

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

Manipulación coordinada asumida es una operación relativamente común en un cliente de esta clase, especificando las dos funciones de descriptor de acceso (x y y en el ejemplo anterior) como Alineado guarda normalmente la sobrecarga en:

  • Llamadas de función (parámetro incluidos que pasa y que coloca la dirección del objeto en la pila)

  • Conservar el marco de pila del llamador

  • Nueva configuración del marco de pila

  • Comunicación de valor devuelto

  • Antigua restauraciones de marco de pila

  • Return

Vea también

Referencia

inline, __inline, __forceinline