Skip to content
RDLL edited this page Aug 10, 2023 · 5 revisions

Macros

#include <iostream>

#define SUMA(a,b) (a+b)

using namespace std;

int main(){
    int a,b,r;
    a = 10;
    b = 42;
    r = SUMA(a,b);
    cout << "La suma es :" << r << endl;
    return 0;
}

Las macros no es mas que otra forma de definir código, la diferencia es que este se genera en preproceso y el código será reemplazado por el valor de la macro en el programa.

Por ejemplo en el programa de arriba, definimos la macro SUMA que recibe dos parámetros y regresa la suma entre dichos parámetros, así que cuando hagamos uso de la macro, será reemplazado por la definición de la macro.

Lo podemos ver así

r = a+b;

Usar o no usar macros

Todo dependerá de lo que se quiera hacer, si bien las macros son bastante útiles, tienen ciertos incovenientes, como que no son depurables ni están tipadas, por lo que podríamos tener resultados inesperados. En todo caso es mejor usar funciones anónimas, dado que estás son la sustitución de las macros.

Introducción Funciones Funciones anónimas Recursividad