(gelöst) [C++] Kommentar durch Präprozessor erzeugen, legal?
Verfasst: 28.11.2013, 15:06
Hi,
Ist es wohldefiniert, den Präprozessor durch Konkatenieren von /* und */ einen Kommentar erzeugen zu lassen? In diesem Beispiel:
#define UNQUOTE3(LITERAL3) LITERAL3
#define UNQUOTE2(LITERAL2) UNQUOTE3(/LITERAL2/)
#define UNQUOTE(LITERAL) UNQUOTE2(*"*/"LITERAL"/*"*)
UNQUOTE("foo")
wird aus
"foo"
zwei Strings um den Bezeichner
""foo""
(Strings unterstrichen). Ich kann das wirklich gut gebrauchen, bin aber um die Portabilität besorgt :?
Gruß
Ist es wohldefiniert, den Präprozessor durch Konkatenieren von /* und */ einen Kommentar erzeugen zu lassen? In diesem Beispiel:
#define UNQUOTE3(LITERAL3) LITERAL3
#define UNQUOTE2(LITERAL2) UNQUOTE3(/LITERAL2/)
#define UNQUOTE(LITERAL) UNQUOTE2(*"*/"LITERAL"/*"*)
UNQUOTE("foo")
wird aus
"foo"
zwei Strings um den Bezeichner
""foo""
(Strings unterstrichen). Ich kann das wirklich gut gebrauchen, bin aber um die Portabilität besorgt :?
Gruß