Sagen Sie bitteEtwas sowohl eine C-ID als auch eine Zeichenfolge machen?
enum
{
NAME_ONE,
NAME_TWO,
NAME_THREE
};
myFunction(NAME_ONE, "NAME_ONE");
myFunction(NAME_TWO, "NAME_TWO");
myFunction(NAME_THREE, "NAME_THREE");
..without sich wiederholen, und ohne Auto-Generierung des Codes, mit C/C++ Makros
Erste Vermutung eines angepassten Liste von Kennungen und Strings generieren möchten:
Sie könnten eine # include-Datei mit
myDefine(NAME_ONE)
myDefine(NAME_TWO)
myDefine(NAME_THREE)
Dann fügen Sie verwenden es zweimal wie:
#define myDefine(a) a,
enum {
#include "definitions"
}
#undef myDefine
#define myDefine(a) myFunc(a, "a");
#include "definitions"
#undef myDefine
aber #define lässt Sie Parameter in einer Zeichenfolge nicht setzen?
Großartig zu sehen, jemand anderen verwendet den Makronamen auch übergeben. Ich finde diese Technik sehr kraftvoll und nützlich. Schamloser Stecker: http://stackoverflow.com/questions/147267/easy-way-to-use-variables-of-enum-types-as-string-in-c#202511 – Suma