Возможный дубликат:
Is it possible to define enumalpha?C++ эквивалент Java Enum.valueOf()
Есть ли эквивалент Java Enum.valueOf (строка) на C++?
Возможный дубликат:
Is it possible to define enumalpha?C++ эквивалент Java Enum.valueOf()
Есть ли эквивалент Java Enum.valueOf (строка) на C++?
Там нет таблицы имен сгенерированных компилятором (если не вам подсчитывать отладочную информацию), но если вы его создаете (или используйте, например, doxygen, который анализирует исходный код и can output such lists in XML format), вы можете использовать словарь какого-либо типа, например std::map<string, int>
, чтобы превратить идентификатор в его числовое значение.
Нет, даже не очень простая задача идти другим путем (перечисление в строке), то вы должны написать сами
Не для общего случая, но есть способы сделать это «проще» с использованием препроцессора: http://stackoverflow.com/questions/2571816/is-it-possible-to-define-enumalpha –