Enums 从0x0007开始的枚举值的含义

Enums 从0x0007开始的枚举值的含义,enums,Enums,我正在浏览我正在使用的库的头文件(我没有实现源文件),我注意到有一组枚举是这样进行的(简化): 我很熟悉看到1,2,4,8。。。使用枚举作为位标志的进程,但这是7,10,11。。。有什么标准图案吗?我知道这些值不一定有多大意义,但这似乎有点奇怪,因为大多数值都是连续的。看到缺少数字的级数并不罕见。它们可以由库内部使用,也可以由库与之接口的其他外部组件使用,或者保留用于将来的开发 为了安全起见,只使用定义的值。您的回答让我想到:使用7的特定枚举作为有符号64位整数(根据随附的注释)。我确信有6对比

我正在浏览我正在使用的库的头文件(我没有实现源文件),我注意到有一组枚举是这样进行的(简化):


我很熟悉看到1,2,4,8。。。使用枚举作为位标志的进程,但这是7,10,11。。。有什么标准图案吗?我知道这些值不一定有多大意义,但这似乎有点奇怪,因为大多数值都是连续的。

看到缺少数字的级数并不罕见。它们可以由库内部使用,也可以由库与之接口的其他外部组件使用,或者保留用于将来的开发


为了安全起见,只使用定义的值。

您的回答让我想到:使用7的特定枚举作为有符号64位整数(根据随附的注释)。我确信有6对比它小的整数类型(8,16,32但有符号和无符号),然后可能是一个无符号64位,然后是一对128位,然后是双精度等等,这不是巧合。这些类型作为参数传递给dll函数。未来证明?遗留代码?无论哪种方式,现在的模式似乎都没有那么随意了!
enum Type
{
    Type1                   = 0x0007,   
    Type2                   = 0x000A,  
    Type3                   = 0x000B,    
    Type4                   = 0x000C,    
    Type5                   = 0x000D,   
    Type6                   = 0x000E, 
    Type7                   = 0x000F, 
    Type8                   = 0x0010,  
};