一般我看到enum { A = 1, B = 2, C = 3, ... }
是否有一些特殊的原因只是设置A
值,并让编译器设置下一个值为前一个成员值+ 1,或者这个程序员试图做代码更可读或类似的东西?
这是一个文体问题。指定值表明您的应用程序关心每个枚举所采用的特定值,这可能是因为它用于实现已发布的标准,或者用于与接口指定特定整数的其他应用程序的互操作性。
即使规范中的值恰好是连续的,也最好显式地输入它们。如果您以错误的顺序输入成员,或者稍后有人将成员插入到列表的中间,那么省略它们就更容易出错。
另一方面,如果您不关心具体值是什么,而只需要编译器为每个枚举成员分配任意唯一的值,则可以将这些值省略,让编译器自动执行。这适用于只在应用程序内部使用的枚举。