为什么大多数枚举值在声明中以BUTT说明符结束



在阅读大多数开源代码时,我经常看到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;

最后一个_BUTT常数的值为枚举类型中除_BUTT常数外的常数个数

最后一个常量不是必需的,它的存在以及它的命名只是程序员的个人选择。

最新更新