C/C++教程

明确将C / C ++枚举从0开始的原因

本文主要是介绍明确将C / C ++枚举从0开始的原因,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

如何解决明确将C / C ++枚举从0开始的原因?

我知道c和c++标准指出,如果您不指定第一个元素的值,则枚举的起始值将默认为0
但是例如在Linux内核源代码中,我数十次遇到了奇怪的声明。例如numa_faults_stats


 
  1. enum numa_faults_stats {
  2. NUMA_MEM = 0,NUMA_cpu,NUMA_MEMBUF,NUMA_cpuBUF
  3. };

将此枚举的第一个元素显式设置为0有什么需要?

Related post。

解决方法

在C和C ++中,有很多关于各种事物的规则:这是其中之一。有时,为了清楚起见,最好是明确的。

另一种常见的用法是在函数原型中使用变量名(只需要类型)。还有一种是用两种语言的return 0;中的main。在C ++ publicprivate中显式使用classstruct是另一种方法。

,

您可以使用枚举,而不必关心它的值,就像仅使用它们之间的互补关系一样。但是有时候它的价值很重要。您可以将is用作数组的索引。例如。

这篇关于明确将C / C ++枚举从0开始的原因的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!