C ++enum枚举示例

让我们通过将其与#define预处理器进行比较来了解

例如:

#define JAN		1
#define FEB		2
#define MAR		3
#define APR		4

这些语句分别通过常量名称JAN,FEB,MAR和APR定义1、2、3和4。在这里,我们需要分别定义每个值。

但是,在“枚举”的情况下,无需定义每个值。我们可以通过称为“枚举”的名称来定义和访问不同的值(但整数/整数类型)。

什么是枚举(enum)?

它是一组不同类型的值,其值介于值的范围之间。

参考: http //en.cppreference.com/w/cpp/language/enum

我们可以声明/定义如下的“枚举/枚举”

enum month{ JAN=1,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,AUG,SEP,OCT,NOV,DEC}months;
enum week{SUN=1,MON,TUE,WED,THU,FRI,SAT}days;
enum bool{FALSE=0,TRUE};
enum escSeq{BACKSPACE='\b',NEWLINE='\n',HTAB='\t',VTAB='\v',RETURN='\r'};

注意:“枚举”相对于宏的最重要优点是:“枚举”具有其范围。这意味着“枚举仅在声明的块内可见”。

看程序:

#include <iostream>
using namespace std;

int main(){
    enum week{SUN=1,MON,TUE,WED,THU,FRI,SAT};    
    enum week day;
    
    day = THU;
    
    cout<<"Week day number : "<<day<<endl;
    
    return 0;
}

输出结果

Week day number : 5