Diferencia entre macro y función en línea

Tabla de contenido:

Diferencia entre macro y función en línea
Diferencia entre macro y función en línea

Video: Diferencia entre macro y función en línea

Video: Diferencia entre macro y función en línea
Video: Aprende Macros en Excel en Menos de 11 Minutos 2024, Mes de julio
Anonim

Diferencia clave: macro frente a función en línea

Una macro es un fragmento de código, que es una directiva de preprocesador. Una función en línea es una función de mejora de C++ para minimizar el tiempo de ejecución de un programa. Por lo tanto, la diferencia clave entre macro y función en línea es que el preprocesador verifica una macro mientras que el compilador verifica una función en línea.

Se incluye una macro al comienzo del programa precedida por un signo de almohadilla. Cuando hay un nombre de macro en el programa, se reemplaza por el contenido de la macro.

¿Qué es Macro?

El preprocesador es un programa que procesa el código fuente antes de que pase por el compilador. Opera usando la línea de comando del preprocesador o las directivas. En el programa, las directivas del preprocesador se colocan en el programa fuente antes del programa principal. Antes de que el código fuente pase por el compilador, el preprocesador lo verifica en busca de directivas de preprocesador. Las directivas del preprocesador tienen el símbolo. A diferencia de otras declaraciones, no terminan con un punto y coma. Un tipo de directiva de preprocesador es macro. Generalmente, las macros se escriben en mayúsculas.

Diferencia entre macro y función en línea
Diferencia entre macro y función en línea

Figura 01: Programa C++ con macros

Según el programa anterior, la línea 3 y la línea 4 indican macros. Al calcular el área, el valor de PI se sustituye utilizando la macro definida. En la línea 14, volumen=CUBO(valor), el preprocesador expande la declaración como volumen=(valorvalorvalor). Encontrar el cubo se puede escribir como una función, pero aquí se escribe usando una macro. Si hay una declaración como volumen=CUBO(x+y), entonces se expandirá a volumen=(x+yx+yx+y).

Algunos tokens de programación pueden escribirse mal fácilmente. Se pueden reemplazar usando macros. p.ej. define Y &&, define O ||. Una definición de macro también puede incluir expresiones como define AREA 45.56.

¿Qué es la función en línea?

Cuando se llama a una función, el compilador tarda un tiempo en ejecutarla. Si la función no es muy compleja, el programador puede convertir la función en una función en línea. Consulte el siguiente programa.

Diferencia entre macro y función en línea_Figura 2
Diferencia entre macro y función en línea_Figura 2

Figura 02: Función sin Inline

El print_hello es una función simple. Imprime la cadena "Hola" cuando se llama a la función. El tiempo de ejecución de esa función es de 0,187 s. Cuando se utiliza la palabra clave en línea de la siguiente manera, el tiempo de ejecución se reduce a 0,064 s.

Diferencia clave entre macro y función en línea
Diferencia clave entre macro y función en línea

Figura 03: Función en línea

Por lo tanto, al usar la palabra clave en línea, el tiempo de ejecución se reduce. Es posible que las funciones en línea no funcionen si hay bucles, instrucciones de cambio y si la función contiene variables estáticas o funciones recursivas.

¿Cuál es la diferencia entre la macro y la función en línea?

Macro frente a función en línea

Una macro es un fragmento de código, que es una directiva de preprocesador que se incluye al comienzo del programa precedida por un signo de almohadilla. Una función en línea es una característica mejorada de C++ para minimizar el tiempo de ejecución de un programa.
Tiempo de evaluación
En macro, el argumento se evalúa cada vez que se usa en el programa. En línea, el argumento se evalúa una vez.
Comprobado por
El preprocesador comprueba una macro. El compilador verifica una función en línea.
Palabra clave
Marco usa define. La función en línea usa la palabra clave 'en línea'.
Uso
La macro se puede utilizar para definir constantes, expresiones, para la sustitución de texto literal y para definir funciones, etc. Se puede usar una función en línea para minimizar el tiempo de ejecución del programa.
Terminación
La macro termina con la nueva línea. La función en línea termina con la llave al final de la función en línea.
Punto de definición
Un marco se define al principio del programa. Una función en línea puede estar dentro o fuera de la clase.

Resumen: macro frente a función en línea

Este artículo analiza la diferencia entre macro y función en línea. Estos conceptos se utilizan en la programación de C++. La diferencia entre macro y función en línea es que el preprocesador verifica una macro mientras que el compilador verifica una función en línea.

Recomendado: