Перечень правил использования перечислений.
Перечисление — это тип данных, где любое значение определяется как символьная константа. Объявить перечисление можно с помощью ключевого слова enum.
Макросы не подчиняются правилам области видимости и определения типа. Имена макросов удаляются во время предварительной обработки и поэтому обычно не отображаются в таких инструментах как отладчики.
В данном примере использовали, enum class, чтобы избежать конфликта имён списков перечислений.
2. Используйте перечисления для написания списка связанных именованных констант.
3. Старайтесь использовать enum class вместо enum.
4. Определяйте оператор для возможности проведения арифметических операций над перечислениями.
5. Не пишите списки перечислений с одних заглавных букв, это прерогатива макросов
6. Избегайте бессвязных перечислений
7. Указывайте базовый тип перечислений только при необходимости
8. Указывайте значения перечисляемых элементов только при необходимости.