enum 语句允许定义一组整数常量:
1. enum woodwind { oboe, flute, clarinet, bassoon };
该语句的结果是:oboe、flute、clarinet 和bassoon,常量值分别为0、1、2 和3。
如果不想按照从0 开始的顺序,可以自己给常量赋值。任何没有被指定值的常量,其值都比前一个常量大1,如:
1. enum woodwind { oboe=100, flute=150, clarinet, bassoon=200 };
上面的语句将oboe、flute、clarinet 和bassoon 的值分别指定为100、150、151 和200。
关键字enum 后面的名称叫做枚举标签。枚举标签是可选的。枚举标签也可以用来声明变量:
1. enum woodwind soloist;
2. soloist = oboe;
枚举对于定义多个常量很有用,并且有助于增强代码的可读性,但是,它们不是明确的类型,并且没有得到编译器太多的支持。声明enum woodwind soloist;表明你希望soloist应该限制为oboe、flute、clarinet 或bassoon 之一,但是,遗憾的是,编译器没有做任何事情来强化这一限制。编译器认为soloist 是一个int,并且,它允许将任何整数值赋给soloist,而不会产生一条警告:
1. enum woodwind { oboe, flute, clarinet, bassoon };
2. enum woodwind soloist;
3. soloist = 5280; // No complaint from the compiler!