Al implementar un menú en un sistema incrustado en C (++) (AVR-Gcc), terminé con un puntero de función nula que toma argumentos, y usualmente los uso.¿Qué tan costosos son los argumentos del puntero NULL?
// void function prototype
void (*auxFunc)(char *);
En algunos casos (de hecho unos cuantos), la función en realidad no necesita el argumento, por lo que haría algo como:
if (something) doAuxFunc(NULL);
Sé que sólo pudiera sobrecargar a una diferente tipo de función, pero en realidad estoy tratando de no hacer esto ya que estoy instanciando múltiples objetos y quiero mantenerlos a la ligera.
Llamar a varias funciones con punteros NULL (cuando están destinados a un puntero real) es peor que implementar muchos más prototipos de función?
¿Qué dice el generador de perfiles? – zoul
¿Por qué crees que las sobrecargas son "pesadas"? –
@KerrekSB Principalmente porque habrá (relativamente) muchos objetos que los tendrán, y el espacio es valioso en los sistemas integrados. En este caso, un menú es más una parte auxiliar de la funcionalidad principal del proyecto. – falro