Gibt es eine Möglichkeit, eine #Definition in einer anderen #Definition durchzuführen?

Ich weiß, dass ich versuche, mich in das Bein zu schießen;) Allerdings kann ich den Rest (große Menge) des Codes kleiner und lesbarer machen.

Gibt es eine schwierige Möglichkeit, ein Präprozessor-Makro in einem anderen Präprozessor-Makro zu erstellen?

Hier ist das Beispiel, wonach ich suche. Mein reales Szenario ist komplexer

// That's what I want to do and surely C++ doesn't like it.
#define MACROCREATER(B) #define MACRO##B B+B

void foo()
{
 MACROCREATOR(5) // This should create new macro (#define MACRO5 5+5)

 int a = MACRO5; // this will use new macro
}

Antworten auf die Frage(12)

Ihre Antwort auf die Frage