Можно ли сделать следующее на C++ 11?Можно создать тип перечисления во время выполнения?
int NED = 3;
или более вероятно,
struct EnumMembers
{
std::string name;
};
list<EnumMembers> countries = readafileOfMembers();
say countries list contains "USA", "NOR";
enum CountryType
{
};
for(auto& c : countries)
{
CountryType.Add(c); //since USA first added = 0
}
или я могу сказать:
CountryType.Add(NED);
CountryType c = CountryType::USA;
По существу, перечисление представляет собой контейнер, который должен быть заполнен во время компиляции. Я хочу перечисление, которое может быть заполнено динамически во время выполнения. Возможно, я действительно не ищу перечисление, но динамический тип, который действует как перечислитель.
вы можете создать структуру, которая модель является целым числом, но делают дополнительные валидации домена под ним. Раньше я этого не видел. (в C++), стандартизованный – sehe
C++ - это статически типизированный скомпилированный язык. Вы не можете этого делать. Ближе всего вы можете использовать карту для поиска целочисленных значений из строковых ключей. – dtech