Когда у нас есть,
struct E { enum E_ { HELLO }; }; // 'E' is inheritable
тогда зачем нам,
enum class E { HELLO }; // 'E' is not inheritable
Вторая версия IMO не предлагает больше функций чем 1-й. Я не думаю, что класс перечисления
введен только для сохранения двух фигурных скобок {};
! Я упускаю какой-либо важный аспект?
В качестве второстепенного вопроса, есть ли разница между enum class
и enum struct
, кроме синтаксиса (потому что оба имеют public
] спецификатор доступа)?