34. C++ || Funciones inline






Una función en línea (inline) lo que hace es aumentar la velocidad del programa. Su uso es conveniente cuando la función se utiliza frecuentemente y su código es pequeño. Con esto no sugerimos hacer todas las funciones en línea (inline) ya que cuando se declara una función de esta manera, el compilador inserta directamente el código de la función en el punto llamado, esto ocasiona que el programa se ejecute más rápido pero a su vez, aumente su tamaño. Por ejemplo, si se llama diez veces la función en su programa, el compilador insertará diez copias de la misma, así que, si una función ocupa 1K de memoria, al declararla en línea (inline) y llamarla diez veces, el tamaño del programa incrementará en 10K (10 240 bytes) a diferencia de una función normal no declarada en línea (inline) que terminaría con un tamaño de 1 274 bytes (1K).


Ventajas y desventajas de una función en línea y fuera de línea


Ventajas:

  • Las funciones en línea (inline) se ejecutan más rápido.
  • La funciones fuera de línea ocupan menos espacio en el programa.

Desventajas:

  • Las funciones en línea (inline) ocupan mucho espacio en el programa.
  • Las funciones fuera de línea se ejecutan más lento.


Creando una función inline


Las funciones inline se crean colocando la palabra reservada inline delante de la declaración (prototipo) y definición de la función. Por lo general, las funciones inline se suelen escribir en una sola línea debido a su casi siempre, pequeño tamaño. Debemos destacar que esto no es ninguna restricción, una función inline puede tener tantas líneas de código sean necesarias. Por ejemplo:

El siguiente programa en C++ muestra el uso de una función inline para calcular el área de un rectángulo.

#include <iostream>
using namespace std;

inline float CalcularArea(float base, float altura);

int main()
{
    int dato1, dato2;
    cout<<"Bienvenidos a Aprender a Programar PRO!!"<<endl;
    cout<<"Este ejemplo muestra el uso de una funcion inline."<<endl;
    cout<<"\nIngrese la base: "; cin>>dato1;
    cout<<"\nIngrese la altura: "; cin>>dato2;
    cout<<"\nEl area del rectangulo es: "<<CalcularArea(dato1,dato2)<<endl;
    return 0;
}

inline float CalcularArea(float base, float altura){return(base*altura);}


Nota: Crea primero funciones normales cuando desarrolles tu programa, luego de terminarlo inserta la palabra reservada inline donde sea necesaria.

Nota: El tamaño de código recomendable de una función inline es uno que no abarque más de la pantalla de tu computadora.



No hay comentarios