为什么大多数枚举值在声明中以BUTT说明符结束
Why do most enum values end with BUTT specifier in declaration?
在阅读大多数开源代码时,我经常看到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
常数外的常数个数
最后一个常量不是必需的,它的存在以及它的命名只是程序员的个人选择。
相关文章:
- 激励'inline'说明符的真实世界示例?
- 缺少类型说明符,显式类型为"缺少错误"
- 为什么mpfr_printf与十六进制浮点(%a转换说明符)的printf不同
- 叮叮当当在修复时插入多个"覆盖"说明符
- 编译器错误:destuctor 的更宽松的抛出说明符
- 使用说明符 extern 声明的C++中的标识符链接
- 同时具有"外部"和"内联"说明符的变量
- 与 tesseract::TessBaseApi() 相关的 Tesseract-OCR 出错(预期的类型说明符)
- 错误:不能使用"显式"说明符声明 bool'
- 基于范围的 for 循环range_declaration中各种说明符之间的性能差异
- 为什么转换函数声明不需要至少一个定义类型说明符
- NOEXCEPT 函数调用运算符的说明符_Not_fn
- 参数包内 noexcept 说明符
- C++需要所有声明的类型说明符和预期的非限定 id(需要调试帮助)
- 格式说明符C++有什么问题
- 0x%08lx 格式说明符在 printf 语句到 cout
- 私钥解密代码使用公共接口说明符到 BSAFE 库 v6.0?
- 在 CRTP 中使用嵌套名称说明符
- 函数模板签名中忽略的成员类型def 的访问说明符
- 为什么大多数枚举值在声明中以BUTT说明符结束