Есть ли способ создать enum
во время компиляции с индексами для массива строк?
Что-то вроде:
// Programmer types this in:
SOME_MACRO(PEAR,"a pear");
SOME_MACRO(APPLE,"an apple");
SOME_MACRO(ORANGE,"an orange");
// ...
// Result after pre-processing and "compiling"
// String array
const char* myarray[] = { "a pear", "an apple", "an orange", /* ... */ };
// Enum
enum myenum
{
PEAR = 1,
APPLE = 2,
ORANGE = 3,
// ...
}
Моя конечная цель - иметь возможностьиспользуйте значение enum, чтобы найти строку во время компиляции и наоборот:
myenum toEnum(const char* str) { /* ... */ }
const char* toString(myenum e) { /* ... */ }
Как бы я поступил так?Если это невозможно, есть ли другой способ сделать то же самое?