| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 977 人关注过本帖
标题:枚举的取值范围
只看楼主 加入收藏
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
结帖率:96.08%
收藏
已结贴  问题点数:20 回复次数:15 
枚举的取值范围
书上说可以在范围内进行强制类型转换(int强转为enum)

大家经常这么用吗?

这种,举个例子说:

我这样定义了之后,enum bits{one=1,two=2,four=4,eight=8};

再这样用:

bits myflag;

myflag=bits(6);

像是下面这种用法一般有什么用处?

2013-08-06 09:44
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:5 
可以,记得限定语“在范围内
以你定义的这个bits为例,其范围为0到15,也就是bits(15)是可以的,而bits(16)是未定义行为。
2013-08-06 09:48
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
像是下面这种用法一般有什么用处?

你这下面是两个兔子,没有什么用法

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-06 10:20
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
peach版主说话好逗

我的意思是:

我这样设定之后的那个的下面


也就是指这里:
bits myflag;

myflag=bits(6);

学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-08-06 11:51
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:3 
回复 4楼 蚕头燕尾
那应该改
像是下面这种用法一般有什么用处?

像是面这种用法一般有什么用处?
2013-08-06 12:05
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
哦,这种用法没什么深意,就是看代码好理解一点
比如说
你知道什么叫magic number不?

再就是枚举和int还是两种类型,编译器不会自动转型,需要强转一下

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-06 12:26
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
嗯嗯,上面算是我表达不清

peach版主说的magic number是想说魔方数吗?

但我没能理解你举这个例子是想说明什么意思?

感觉自己语言表达能力好差呀,

我是想问这样的问题:

myflag=bits(6);
这样做虽然是允许的,但是像是这里myflag这样的变量在什么场合下回用到?

就我现在的水平,感觉这么做毫无意义啊?


学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-08-06 12:51
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
http://baike.baidu.com/view/1922945.htm#2
太长了,自己去看
第一部分不关心
看魔数在程序开发中的意义...

替代魔数,基本上不是宏定义就是枚举或者就是const变量...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-06 13:36
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
我想应该还是我的问题,我还是没有表达清楚,啊啊啊,,说话真费劲啊

我不是问枚举的用处,我是想问:把一个int强制转换成 “定义这个枚举类型的时候,

列表中没有提到一个值” 有什么用处。

比如我上面枚举定义时候的那个列表里没有值为6的。

但我下面一点要把6转换成枚举类型。

这么做有什么意义?

学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-08-06 13:59
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:12 
没意义

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-06 14:19
快速回复:枚举的取值范围
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049934 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved