enum枚举类型的使用
一次定义多個变量
如果要定义一系列递增的常量,使用#define需要一個一個定义,會非常麻烦,使用enum就非常的方便。例如定义一周七天的天数Week。
enum Week {Mon=1, Tue, Wed, Thu, Fri, Sat, Sun};
以上的定义中,Mon的值为1,Tue为2,Wed为3,依此类推。
注意,枚举中的第一项默认值为0
枚举中间项赋值的情况
enum Color {red, blue, green=5, yellow};
以上red到blue是按照默认从0开始递增,green赋值5後,green到yellow就是从5开始递增。
所以,枚举中的每一個未被赋值的项的值都是根据前一项的值递增。
限定变量的范围
#include
enum Month {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec};
int main()
{
enum Month a = Feb;
printf("%d",a);
return 0;
}
以上定义的枚举类型变量a的取值,衹能是枚举Month 12项中的一個,如果赋予其它值,编译器就會报错。
使用enum的幾种方法
- 定义enum的同時,声明变量
enum Month {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec} a,b;
- 定义完enum之後再声明变量
enum Month {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec};
enum Month a = Feb;
- 定义匿名枚举变量
enum {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec} a;
- typedef enum定义一個数据类型,那么该类型的变量衹能在enum定义的范围内取值
typedef enum {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec} Day;
Day a, b;
C++字符串类std::string常用函数
std::string::size() 返回字符串包含的数据长度(占用空间的字节数)
std::string::length() 返回字符串包含的数据长度(同上)