在阅读大多数开源代码时,我经常看到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
常数外的常数个数
最后一个常量不是必需的,它的存在以及它的命名只是程序员的个人选择。