说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

有关Enumerations的问题

编辑:说三道四文库 发布时间:2017-11-22 09:16
HTML文档下载 WORD文档下载 PDF文档下载
在The C++ Programing language 中的
第4.8节中
An enumerator can be initialized by a constant-expression (§C.5) of integral type (§4.1.1). The range of an enumeration holds all the enumeration’s enumerator values rounded up to the nearest larger binary power minus 1 . The range goes down to 0 0 if the smallest enumerator is non-negative and to the nearest lesser negative binary power if the smallest enumerator is negative. This defines the smallest bit-field capable of holding the enumerator values. For example:
enum e1 { ddark, light }; / / range 0:1
enum e2 { a = 3, b = 9 }; / / range 0:15
enum e3 { min = -10, max = 1000000 }; / / range -1048576:1048575
A value of integral type may be explicitly converted to an enumeration type. The result of such a conversion is undefined unless the value is within the range of the enumeration. For example:
enum flag { x x=1 1, y y=2 2, z z=4 4, e e=8 8 }; / / range 0:15
enum flag f1  = 5; / / type error: 5 is not of type flag
enum flag f2  = flag(5) ; / / ok: flag(5) is of type flag and within the range of flag
enum flag f3  = flag g(z|e) ; / / ok: flag(12) is of type flag and within the range of flag
enum flag f4 = flag(99) ; / / undefined: 99 is not within the range of flag
The last assignment shows why there is no implicit conversion from an integer to an enumeration;
most integer values do not have a representation in a particular enumeration.


上面中的有关的range ,是什么意思啊!
enum  flag  {  x  x=1  1,  y  y=2  2,  z  z=4  4,  e  e=8  8  };  /  /  range  0:15  
应该是
enum  flag  {  x=1,  y =2 ,  z  =4 ,  e  =8  };  /  /  range  0:15  
贴错了!
应该是说你的枚举范围
范围的最大值是枚举的最大值的二进制位都填满,例如上面的最大值是八,那么就是1000,那么起范围的上限是1111,即15,范围最小值是在非负时为0,负数将去最近的较小负数,和最大值取法相同
那么flag(5)取道的值是多少?
当然是5了,但是表示他是flag类型的枚举了
enum  flag  {  x=1,  y =2 ,  z  =4 ,  e  =8  };  
但是  flag 中没有定义5阿!
但是他的范围里面包括5,也不要在里面定义了
哦!
明白了!
Thanks!
用VB编写DirectX7.0游戏(上) 用VB创建Excel报表 用VB读取和控制Windows的中文输入法 用VB将命令行软件Windows化 用VB进行移位操作 用VB开发CAI软件的小经验 用VB开发分布式应用 用VB切换三个特殊键 用VB生成EXE文件后,如何在后面加上参数?这个参数怎样传给VB 用VB实现动态显示操作进度程序 用VB实现双向循环链表 用VB实现用户登录密码的修改 用VB与MS-Draw开发通用作图软件 用VB制作TopMost类型窗口 用VB制作Windows风格安装盘 用Visual Basic 6创建基于MTS的商务组件 用Visual Basic实现Windows的重启动 VB用Windows管理技术做你的应用程序 VB用程序给标识字段(ID)赋值的一种简单实现方法 VB用自己的&#39;PROGRAM&#39;测试自己的电脑 有 BitMap 之Menu -VB资料 运行其他程序,并等待执行完毕 -VB资料 再谈VB程序的加密 在 VB 程序中如何设定 Mouse 光标的位置? 在ActiveX DLL工程中慎用App对象-VB资料 在ActiveX控件工程中设置DataField属性-VB资料 在VB中异步执行程序 在VB编程中有效地组织和利用资源 在VB应用程序中巧用DLL 在VB应用程序中使用INI文件的一点体会 在VB中操纵OLE服务器应用程序 关于CBCGOutlookBar的问题 如何在Delphi中调用WINRAR或WINZIP动态链接库的接口???(急,急,急......) 请教DataGrid控件新增一行的问题。 在unixware中使用消息队列,当消息队列比较长并且创建的消息队列较多时,出现堵塞? 为什么我调用 GethostName 这个函数 返回值是 O 但是GetLastError 却返回14呢!? 怎么通过http协议联接数据库呢?或者怎么样远程联接数据库? 如何清除ds.tables中的数据 奇怪!用unescape函数解码出来的一部分字符只能用document.write()的方法来显示? 求救!!!!如果我是定向招生读的大学,和定向单位签订11年和约,如果我不想去定向单位工作,该负怎样的法律责任!!!! 冬天来了,春天还会远吗?——中国程序员的春天 请教无标题窗口怎么移动?? 听同学说用一个按钮可以实现后退两页的,那么三页也可以实现吧,怎样写? 用hibernate 如何实现分页 我不太明白这些版本控制到底最大的好处是什么? 程序运行时实时变量出错? 各位老兄,请问在java中怎么解决这样<Node Name="N1" Value="1" />的XML 哪有winamp3的“汉化补丁”,源程序我有 使用CSocket类时出现访问冲突 庆祝网站初建:一般的界面,实用的文章例子,欢迎大家参观我的网站http://vcp4.51.net 帮帮小弟吧~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 请教各位大侠:VFP中SQL语言应该怎么学?? 如何自行编写一个自释放的EXE文件?,分不够,可另开恭送 dll卸除时 我要做一些收尾工作 代码要写在哪里?? 请教各位大侠:VFP 中的程序应该怎么学???谢谢指教!! 如何修改Canon BJ-4650打印机驱动程序,实现A3纸的加长打印? 心语 使用ODBC连接MySQL数据库时在stderr处有错误输出 这样的函数名怎么调用 大家能说说你们看过的最吓人的恐怖片是哪一部么?欢迎讨论! WIN2K问题 怎样解决这个问题 两个很菜的问题,在线等待 我不能在WSADV5中显示JSP页面? 鼠标检测问题 仅运行一次的实例,如何分别打开多个文件? 一些对asp.net的编译问题,乞望大虾回答。 初学者问题,请各位高手教教我! 通过ODBC传输大容量数据时出错 一个小的测试:求1+2+……+100的和,写出你的程序! 谁有不错的JAVASCRIPT的电子教程? 请教各位大侠:TurboC的数组方面的题 请问为什么我这个实现不了旋转? 送分给高手,请进:关于组件注册的问题? 对于您可能这仅是一个小问题,急求助! 如何收集一堆的单选框的值 关于一个程序的想法,高手进来给点建议! QQ与手机(没分给) 关于音量控制的问题 如何获得SMTP服务器的IP地址 C语言的图形系统设计 怎样屏蔽TStringGrid中的方向键?请指点。先谢了! 一条直线经过点a(1,),且与两坐标的正半轴所围成的三角形面积是16,求这条直线的方程 已知三角形ABO三个顶点,A(-3,0),B(0,6),O(0,0)求过顶点且将三角形面积分为1:3的直线的方程 Over the past aside,the future of underweight这句话是什么意思 光绪帝决心实行变法的最主要原因是A民族危机深重B康有为屡次上书 C全国百姓的呼吁 D利用变法巩固自身统治 Let bygones be bygones.Don't dwell on the past too much!我的英语好差哦能不能帮下忙 有思路但有一个地方不明白在梯形ABCD中,AB‖DC,∠B=90°,AD 诚心的朋友进.谢谢(已修改.)如图①,△ABC为等边三角形,面积为S.D1、E1、F1分别是 三边上的点,且AD1=BE1=CF1=二分之一AB,连结D1E1、E1F1、F1D1,可得△D1E1F1.(1)用S表示△AD1F1的面积S1= ,△D1F1E1的面 第一空怎么填 1+1语文答案 求语文1~4答案 语文回答,快,O(∩_∩)O谢谢!作文题目(先补充题目):别开生面的( );( )的故事.要求:不少于500字;初一水平先补充题目,再写作文! 中国三部门要求规范母乳代用品宣传和销三季度中经产业景气指数:工业经济温和“基础四国”杭州发声督促发达国家兑现食品安全法修订草案:网购食品出问题网宁波1至6号轨道站点全公布 看看家门有了闲林水库这只“碗” 杭州饮水防洪安徽宁国网友募捐遭民政局叫停:我们压药店奶粉自动售卖机故障 消费者抱怨无穿“新制服”配IC卡 每一杯西湖龙井上海自贸区揭牌满月巡礼 开启新一轮改美智库报告称朝鲜为发射大型导弹扩建卫江苏如何增创开放型经济新优势政府刚性规定缘何百姓买单世界经济,一张蝴蝶效应之“网”香港中文大学拟招600名本科生 招生郑州一男子过马路被撞身亡 司机:被远诺贝尔文学奖得主 君特·格拉斯逝世10多辆三轮车钻进西流湖园区 公园变“沙特黑客”黑掉伊朗官媒泰州为78万老人 购买意外险天天视频老人痴迷保健品,谁该内疚
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘