Страницы

Поиск по вопросам

вторник, 16 июля 2019 г.

Enum : type { }; Какой тип стоит по умолчанию?

В с++ 11 появилась такая возможность, как: enum AnyEnum : int8_t { a = -1, b = 0, c = 1, }; Какой тип устанавливается по умолчанию, не учитывая различных оптимизаторов? Раньше, если не ошибаюсь, устанавливался int; Т.е. что поставится на этапе компиляции, если не указать тип?


Ответ

Документация по std::underlying_type утверждает, что:
The underlying type of an enum declared with enum class is int unless a different type is specified on declaration.
В переводе:
Базовым типом перечисления, объявленного как enum class, является int, пока в объявлении не указан иной тип.

Комментариев нет:

Отправить комментарий