欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

c/c++ 枚举类型及其遍历

最编程 2024-04-22 10:34:21
...

我们以一年有四个季节进行枚举实例

c:
	enum Season
	{
   		SPR = 0,
  	 	SUM,
  	 	AUT,
  		 WIN,   //最后一个逗号可以不加
	};  //结尾必须加;

注意:第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。如果我们想从1开始,那么我们可以将第一个SPR = 1,这样我们可以达到1,2,3,4的排列顺序。当然,如果我们将SUM = 3,我们可以得到0,3,4,5这样的顺序。

调用实例

    enum Season s = 2;//可以使用数字也可以使用 AUT
	if(s == 2)
	{
		printf("这是秋天");   
	}


c++在使用enum类型跟c的区别

c++:
	enum Season
	{
		SPR = 0,
		SUM,
		AUT,
		WIN,
	};

	int main()
	{
		enum Season s = AUT;        //c++不能使用数字进行赋值
		if(s == AUT)
		{
			std::cout<<"这是秋天"<<std::endl;	   
		}
	}

enum进行遍历

c:
	enum Season
	{
		SPR = 0,
		SUM,
		AUT,
		WIN,
	} s;

	int main()
	{
		for (s = SPR;s<=WIN;s++)
		{
			printf("%d \n",s);
		}
	}

区别于c代码的遍历,c++不能直接使用int型

c++:
    enum Season s;
	for (s = SPR; s <= WIN; s= (Season)(s + 1))  
	{
		std::cout<<s<<std::endl;
	}

当然在遍历中,如何enum类型中的变量不是默认顺序,则遍历可能无法实现。