У меня есть небольшая таблица структур, на которую я хотел бы ссылаться в коде по короткому имени. Однако использование строки в качестве имени означало бы необходимость поиска каждый раз, когда требуется доступ к этой таблице. Итак, мне интересно, можно ли будет определить значения перечисления в инициализаторе массива, чтобы дать им имя? Примерно так:
Код: Выделить всё
struct Parameter {
EnumType name; // TODO how to declare this?
int min;
int max;
};
// now define the array and EnumType values at the same time:
Parameter parameters[]={
{FIRST_PARAMETER, 0, 100},
{SECOND_PARAMETER, 10, 20}
}
// now access like that:
int min = parameters[FIRST_PARAMETER].min;
По сути, значения перечисления FIRST_PARAMETER = 0 и SECOND_PARAMETER = 1 будут созданы при инициализации массива, и я могу использовать эти имена вместо 0 и 1 позже для доступа к элементам массива.
Есть ли в C++ какой-нибудь стандартный способ сделать это? Нужны ли макросы или шаблоны и могут ли они это сделать?
Подробнее здесь:
https://stackoverflow.com/questions/790 ... lizer-in-c