que vous voulez générer une liste correspondante des identifiants et des chaînesFaire quelque chose à la fois un identifiant C et une chaîne?
enum
{
NAME_ONE,
NAME_TWO,
NAME_THREE
};
myFunction(NAME_ONE, "NAME_ONE");
myFunction(NAME_TWO, "NAME_TWO");
myFunction(NAME_THREE, "NAME_THREE");
..without vous répéter, et sans création automatique du code, en utilisant des macros C/C++
estimation initiale:
Vous pouvez ajouter un fichier contenant #include
myDefine(NAME_ONE)
myDefine(NAME_TWO)
myDefine(NAME_THREE)
Ensuite, utilisez deux fois:
#define myDefine(a) a,
enum {
#include "definitions"
}
#undef myDefine
#define myDefine(a) myFunc(a, "a");
#include "definitions"
#undef myDefine
mais #define ne vous permet pas de mettre des paramètres dans une chaîne?
Génial de voir quelqu'un d'autre utiliser le nom de la macro qui passe aussi. Je trouve cette technique très puissante et utile. Plug sans vergogne: http://stackoverflow.com/questions/147267/easy-way-to-use-variables-of-enum-types-as-string-in-c#202511 – Suma