Angenommen, ich habe einen C++ - Makro-CATCH, um die Fanganweisung zu ersetzen, und diesen Makro als Parameter einen regulären Ausdruck für die Variablendeklaration erhalten, wie <type_name> [*] <var_name>
oder so ähnlich. Gibt es eine Möglichkeit, diese "Felder" zu erkennen und in der Makrodefinition zu verwenden?Ist es möglich, Makroargumente als reguläre Ausdrücke zu behandeln?
Zum Beispiel:
#define CATCH(var_declaration) <var_type> <var_name> = (<var_type>) exception_object;
Würde wie arbeiten:
#define CATCH(var_type, var_name) var_type var_name = (var_type) exception_object;
Wie in Frage gestellt, ich bin mit g ++.
Der Compiler, den ich verwende, ist g ++. Es macht mir nichts aus, einen anderen Präprozessor zu verwenden. – freitass