如何解决明确将C / C ++枚举从0开始的原因?
我知道c和c++标准指出,如果您不指定第一个元素的值,则枚举的起始值将默认为0
。
但是例如在Linux内核源代码中,我数十次遇到了奇怪的声明。例如numa_faults_stats
:
将此枚举的第一个元素显式设置为0
有什么需要?
解决方法
在C和C ++中,有很多关于各种事物的规则:这是其中之一。有时,为了清楚起见,最好是明确的。
另一种常见的用法是在函数原型中使用变量名(只需要类型)。还有一种是用两种语言的return 0;
中的main
。在C ++ public
或private
中显式使用class
和struct
是另一种方法。
,
您可以使用枚举,而不必关心它的值,就像仅使用它们之间的互补关系一样。但是有时候它的价值很重要。您可以将is用作数组的索引。例如。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/291025.html