Как указать число в перечислении

Извините, если вопрос может быть очень глупым: у меня есть enum, а имя, содержащееся в enum, должно быть числом:

enum class EE
{
ZERO,
ONE,
TWO,
// ...
}

enum class EE2
{
_0,
_1,
_2,
// and so on ...
};

Если я хорошо помню, подчеркивание перед именами должно быть зарезервировано для реализации. Но какой предпочтительный способ отделить число внутри перечисления?

Давайте приведем более конкретный пример:
Я могу написать, например:

enum JoysticButton
{
BUTTON_1,
BUTTON_2,
// AND SO ON
};

Но чтобы использовать перечисление, я должен написать:

if ( k == JoysticButton::BUTTON_1 )

И это очень многословно. Или же.

enum JoysticButton
{
_1,
_2,
// AND SO ON
};

if ( k == JoysticButton::_1 )

Но вторая альтернатива менее ясна

0

Решение

Но какой предпочтительный способ отделить число внутри перечисления?

Предпочтительный способ — быть конкретным и назвать перечисление и его значения как можно более четко. Все зависит от того, что представляет enum.

Например, если число представляет версию, то что-то вроде этого (кстати, EE — ужасное родовое имя):

enum class EE
{
v_1,
v_1_1,
v_2,
v_3,
// ...
};
1

Другие решения

Для реализации зарезервированы только подчеркивания, за которыми следует заглавная буква или другое подчеркивание, так что вы можете свободно использовать _1, _2, так далее.

2

Зачем вообще использовать класс enum?

В этом случае простой старый enum является наиболее ясным, я думаю:

enum JoysticButton
{
JoysticButton1,
JoysticButton2,
// ...
};

if ( k == JoysticButton1 ) ...
2

Тип перечисления по умолчанию — int. Вы можете сделать это, я считаю, что это то, что вы спрашиваете.

enum class EE
{
ONE = 1,
TWO = 2,
// ...
}
0
По вопросам рекламы [email protected]