Введение в перечисления в C++
Перечисление описывает конечный список допустимых вариантов: каждому варианту дают короткое имя в коде, а тип не принимает произвольные числа или строки снаружи списка.
В C++20 для этого служит enum class: внутри фигурных
скобок перечисляют константы через запятую, а обращаться
к ним нужно через имя типа и ::, например
Color::red.
Значение перечисления удобно разбирать в switch:
каждая ветка case сравнивает переменную с одной
константой, а break завершает выбор. Запишем
тип Color, сохраним Color::red и выведем
слово для выбранного цвета:
#include <iostream>
enum class Color { red, green, blue };
int main() {
Color c = Color::red;
switch (c) {
case Color::red:
std::cout << "red\n";
break;
case Color::green:
std::cout << "green\n";
break;
case Color::blue:
std::cout << "blue\n";
break;
}
return 0;
}