ich ein Makros definieren, die nur variable Zählwert fixiert drucken, zum Beispiel:Ein Makros, die Namen von Variablen und ihre Werte druckt
#define PRINT_PARAMS(param) std::cout << "test: " << std::string(#param) << " = " << param << "\n";
// using:
int varI = 5;
PRINT_PARAMS(varI);
// output:
test: varI = 5
Wie ein Makros definieren, die so etwas tun:
PRINT_PARAMS(varI1, strValue2, floatValue3, doubleValue4);
// output:
varI1 = 5, strValue2 = some string, floatValue3 = 3.403f, ....
Ich meine eine beliebige Anzahl von Eingabeparametern.
, dass die folgende Art und Weise erweitern würde: ' {DRUCK_PARAMS ((var1)); PRINT_PARAMS (var2, var3, var4); } ' –
@TrevorHickey - Ja, ich habe das erwartet und werde das dann wieder PRINT_PARAMS (a, ...) aufrufen? genau wie in der Vorlage Meta-Programmierung? Es ist schon lange her, dass ich ein variadisches Makro geschrieben habe, aber aus dem Aussehen deiner Antwort unten scheint dir viel Erfahrung zu sein :) – T33C
Ah, ich wünschte, das wäre wahr, sonst wäre meine Antwort nicht so kompliziert gewesen. "Wenn die Erweiterung eines Makros entweder direkt oder über Zwischenmakros einen eigenen Namen enthält, wird es nicht erneut erweitert, wenn die Erweiterung nach weiteren Makros untersucht wird." –