Hier ein Beispiel:Kann ich wirklich eine Funktion wie Makro
#define get_i() i
int i;
int i2;
i2 = get_i();
Im Fall oben ^^^ get_i()
wirkt wie eine Funktion, die etwas (den Wert von i
in diese zurückkehrt Fall).
Dieser ^^^ oben fungiert wie eine Funktion, die NICHT zurückkehrt.
Meine Frage ist, kann ich Makros verwenden, um ein funktionsähnliches Makro zu erstellen, das sowohl etwas tun als auch ein Objekt zurückgeben kann? Hier ist ein Pseudocode:
#define increse_i2_and_return_i() i2++; return i;
Ist das möglich?
Verwenden Sie den Komma-Operator. aber besser, sagen Sie uns * was * Sie versuchen zu erreichen (und nicht wie) –