В настоящее время я переносю свой код из перечисления старого стиля в класс перечисления.
Строгая типизация хороша, но я натолкнулся на то, что в коде мне нужно было вызвать функцию init_pair () ncurses, которая принимает short int
в качестве первого аргумента, но которую я преобразовал в класс enum для удобное для разработчиков чтение.
Чтобы сделать компилятор счастливым, мне кажется, что мне нужно использовать static_cast<short int>()
для первого параметра.
Есть ли более чистый подход или если я должен использовать static_cast, как вы рекомендуете его использовать?
Принятый ответ : Ответ Криса Додда хорош. До перехода у меня были повсюду целые числа, представляющие перечисления старого стиля. После переключения у меня есть одно грязное приведение с типобезопасными перечислениями во всем остальном коде. Грязность изолирована в одном месте, код безопаснее, и его легче читать. Это заметное улучшение.