Почему большинство значений перечисления заканчиваются спецификатором BUTT в объявлении?

0

Читая большую часть открытого кода, я часто вижу, что значения enum заканчиваются _BUTT? Это может показаться наивным, но есть ли какое-либо значение для такого стиля кодирования?

Пример 1:

typedef enum __nvp1114a_samplerate {
        NVP1114A_8000,
        NVP1114A_16000,
        NVP1114A_32000,
        NVP1114A_44100,
        NVP1114A_48000,
        NVP1114A_BUTT
} nvp1114a_samplerate;

Пример 2:

typedef enum hiVIDEO_NORM_E
{
    VIDEO_ENCODING_MODE_PAL=0,
    VIDEO_ENCODING_MODE_NTSC,
    VIDEO_ENCODING_MODE_AUTO,
    VIDEO_ENCODING_MODE_BUTT
} VIDEO_NORM_E;
  • 0
    Таким образом, вы можете символически указать количество возможных значений в перечислении.
  • 0
    Это количество значений
Показать ещё 4 комментария
Теги:
enums
coding-style

1 ответ

1
Лучший ответ

Значение последней константы _BUTT - это число констант (исключая _BUTT) в перечисляемом типе.

Эта последняя константа не требуется, и ее присутствие, а также ее именование - это просто личный выбор программиста.

  • 0
    Но почему эта информация должна быть в объявлении enum?
  • 0
    @ Manav не требуется.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню