Bei der Implementierung eines Menüs auf einem eingebetteten System in C (++) (AVR-Gcc), endete ich mit Void-Funktion Zeiger, die Argumente, und in der Regel nutzen sie.Wie teuer sind NULL-Zeigerargumente?
// void function prototype
void (*auxFunc)(char *);
In einigen Fällen (in der Tat nicht wenige), die Funktion braucht eigentlich nicht das Argument, also würde ich so etwas tun:
if (something) doAuxFunc(NULL);
Ich weiß, ich könnte nur eine Überlastung anderer Funktionstyp, aber ich versuche tatsächlich, dies nicht zu tun, da ich mehrere Objekte instanziiere und sie leicht halten möchte.
Ist das Aufrufen mehrerer Funktionen mit NULL-Zeigern (wenn sie für einen tatsächlichen Zeiger gedacht sind) schlimmer als die Implementierung viel mehr Funktionsprototypen?
Was sagt der Profiler? – zoul
Warum sind Überladungen "schwer"? –
@KerrekSB Hauptsächlich, weil es (relativ) viele Objekte gibt, die diese enthalten, und Raum ist wertvoll für eingebettete Systeme. In diesem Fall ist ein Menü eher ein Hilfsteil der Hauptfunktionalität des Projekts. – falro