• Asignatura: Biología
  • Autor: brendagg7836
  • hace 7 años

¿Cómo podría escribir las funciones genéricas en C?

Respuestas

Respuesta dada por: 96152368475128
0

Respuesta:

l lenguaje no posee soporte para programación genérica, esto es, no se puede indicar un algoritmo y luego ajustarlo a un tipo de dato en especifico tal como se hace en otros lenguajes como C++ o Common Lisp.

Lo más cercano que tiene C es el uso del pre-procesador, por vía de su sistema de macros. Sin embargo, un uso excesivo del pre-procesador es considerado hoy como una señal de un mal código, una mala práctica a evitar.

Si de todos modos quieres hacer una función de algún modo genérica, tendrás que escribir primero una macro apropiada, por ejemplo:

#define SUMAR(T) static T sumar_ ## T (T a, T b) { \

                                           return a + b; \

                                         }

Y luego tendrás que instanciarla indicando un tipo de datos en concreto. Ejemplo:

SUMAR(int)

SUMAR(float)

Con lo cual tendrías dos nuevas funciones: sumar_int() y sumar_float() que respectivamente suman dos enteros y dos punto flotante. A estas ultimas funciones las podrás utilizar con normalidad de aquí en adelante.

#include <stdio.h>

int main (void)  

{

printf("%d\n", sumar_int(1,3));

return 0;

}

Algo así.

En general es el tipo de ideas que explican la migración a otros lenguajes. Si en verdad tu proyecto se simplifica usando funciones genéricas, entonces utiliza un lenguaje que dé soporte pleno a este estilo de programación.

Preguntas similares