免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5993 | 回复: 14
打印 上一主题 下一主题

这个enum 是怎么用的?没有具体名字? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-17 13:47 |只看该作者 |倒序浏览
请教个使用enum的问题,
在看android中的一个getevent.c代码时,看到一个 enum的问题,一时没想明白是啥意思。
  1. enum {
  2.     PRINT_DEVICE_ERRORS     = 1U << 0,
  3.     PRINT_DEVICE            = 1U << 1,
  4.     PRINT_DEVICE_NAME       = 1U << 2,
  5.     PRINT_DEVICE_INFO       = 1U << 3,
  6.     PRINT_VERSION           = 1U << 4,
  7.     PRINT_POSSIBLE_EVENTS   = 1U << 5,
  8. };
复制代码
源码来自..http://netmite.com/android/mydro ... /toolbox/getevent.c

论坛徽章:
0
2 [报告]
发表于 2010-09-17 13:54 |只看该作者
就用它的数据成员呗,太正常的用法了~

只是没法用这个enum类型罢了,比如作为函数参数~

论坛徽章:
0
3 [报告]
发表于 2010-09-17 14:02 |只看该作者
本帖最后由 honckly 于 2010-09-17 14:04 编辑

单个单个滴用?
= 1U << 0
这个是啥意思?

论坛徽章:
0
4 [报告]
发表于 2010-09-17 14:07 |只看该作者
应该是吧,值分别为1,2,4,8,16,32

论坛徽章:
0
5 [报告]
发表于 2010-09-17 14:15 |只看该作者
对无符号 整形 1 左移 的位数?

论坛徽章:
0
6 [报告]
发表于 2010-09-17 14:15 |只看该作者
回复 3# honckly


    大哥,往下走几步,你就知道咋用了~

  1.      if(fd < 0) {
  2.         if(print_flags & PRINT_DEVICE_ERRORS)
  3.             fprintf(stderr, "could not open %s, %s\n", device, strerror(errno));
  4.         return -1;
  5.     }
复制代码

论坛徽章:
0
7 [报告]
发表于 2010-09-17 15:37 |只看该作者
回复 1# honckly


    加u就是表示无符号

论坛徽章:
0
8 [报告]
发表于 2010-09-17 15:59 |只看该作者
多谢楼上几位,

我在仔细琢磨琢磨。

论坛徽章:
0
9 [报告]
发表于 2010-09-17 18:24 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
10 [报告]
发表于 2010-09-17 18:28 |只看该作者
就是说, 这些enum会做&,|,^这样的运算。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP