enum как перечисляемый тип enum связывает числа с именами, чтобы сделать их более понятными для человека, читающего программу. Ключевое слово enum автоматически нумерует список переданных идентификаторов и присваивает им значения 0, 1, 2 и тд
пример:
можно легко проверить:
Если вам не нравится распределение значений компилятором, вы можете выполнить его самостоятельно.
Или указать значение первого и смещение последующих(в круглых скобках перед фигурными указывается операция применимая к каждому послед элементу).
Таким образом enum можно использовать для объявления констант.
Обратите внимание что указывать имя для enum не обязательно. Но для объявления констант лучше использовать специальное ключевое слово const.
enum как инструмент структурирования данных
Чаще enum используют именно так, перечисляя не список возможных состояний объекта, а список различных его параметров, пример:
Добавим enum с городами :
И можем создать массив с домами всех городов и их св-вами: