Безопасно ли повторно интерпретировать переменную класса enum для ссылки на базовый тип?

виделreinterpret_cast используется для применения приращения к классам перечисления, и яЯ хотел бы знать, является ли это использование приемлемым в стандарте C ++.

enum class Foo : int8_t
{
    Bar1,
    Bar2,
    Bar3,
    Bar4,

    First = Bar1,
    Last = Bar4
};

for (Foo foo = Foo::First; foo 

Ответы на вопрос(3)

Ваш ответ на вопрос