在阅读大多数开源代码时,我经常看到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 :(得分:1)
最后一个_BUTT
常量的值是枚举类型中常量的数量(不包括_BUTT
)。
这个最后一个常量不是必需的,它的存在和命名只是程序员的个人选择。