为什么大多数枚举值以声明中的BUTT说明符结尾?

时间:2014-07-14 12:24:29

标签: java c++ c enums coding-style

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

1 个答案:

答案 0 :(得分:1)

最后一个_BUTT常量的值是枚举类型中常量的数量(不包括_BUTT)。

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