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