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.
Publica un comentario