Funktionskonstanten?
-
#define BLA 50
geht sowas auch mit Funktionen? Wenn ja, wie?
-
Ja, du kannst Makros auch mit Parametern anwenden - im Gegensatz zu Funktionen ergeben die aber reine Textersetzungen:
#define MAX(x,y) ((x)<(y)?(y):(x))
(die Klammern sind nötig, um ungewollte Fehlzuordnungen zu vermeiden - wie gesagt: reine Textersetzung)
PS: Ein vollwertiger Ersatz für C++ Templatefunktionen sind solche Konstruktionen nicht:
i=3; j=4; k=MAX(i,++j); //welchen Wert hat j nach dieser Anweisung?
-
lisp hat macros. probier scheme lisp.