Zum Lernen und Demonstrieren benötige ich ein Makro, das seinen Parameter ausgibt und wertet es aus. Ich vermute, dass es ein sehr häufiger Fall ist, vielleicht sogar eine FAQ, aber ich kann keine wirklichen Referenzen finden.Makro, das einen Ausdruck druckt und auswertet (mit __STRING)
Mein aktueller Code ist:
#define PRINT(expr) (fprintf(stdout, "%s -> %d\n", __STRING(expr), (expr)))
und dann:
PRINT(x & 0x01);
Es funktioniert gut, aber ich bin von dem rechtlichen Status des __STRING Makro nicht sicher, speziell, da es in der privat __ Namespace.
Also, meine Fragen:
- Gibt es einen besseren Weg, um dieses Makro zu schreiben?
- Ist __STRING Standard/groß/böse?
- Wie können Sie mit vorhandenen Suchtools nach __STRING suchen? SO Suchmaschine durchsucht nur etwas String mit :-(
Ich hatte ähnliche Probleme in der Vergangenheit zu suchen. ".net" war früher ein großer. – aib
Sie können Google verwenden, um StackOverflow zu durchsuchen, indem Sie das Argument site von Google verwenden: z. "__string site: stackoverflow.com" (die nichts zurückgegeben hat). – codelogic