免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: jediii
打印 上一主题 下一主题

[C++] 『原创』深入讨论C++的enum [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-09-17 10:52 |只看该作者
为什么要用Enum?有啥好处,不用行不?

论坛徽章:
0
22 [报告]
发表于 2008-09-17 11:03 |只看该作者
没看出C++的enum和C的enum有什么区别,都一个整数

论坛徽章:
0
23 [报告]
发表于 2008-09-17 11:15 |只看该作者
原帖由 xiaonanln 于 2008-9-16 19:03 发表
没看出C++的enum和C的enum有什么区别,都一个整数


简单看了一下C++和C99的标准,关于enum区别不大:

C99允许最后多一个逗号: enum foo { a, b, }; 而C++标准里没这个。

C99里面 enum 的内部类型就是 int,sizeof一个enum类型就是sizeof(int),C++里面貌似只说是integral type,enum 的类型和第一个enumerator的初始值一致,如果这个值没有默认是0,但是没说这种情况就是int。

论坛徽章:
0
24 [报告]
发表于 2008-09-17 11:20 |只看该作者
原帖由 jediii 于 2008-1-30 01:38 发表
enum的秘密:enum是“用户自定义类型”

    呵呵,enum在实际中应用比较少,所以你会忽略它。但是,在这里,我告诉你,enum 和 struct、class一样,都是用户自定义类型。
    对呀!enum是用户自定义类型, ...


enum不能有成员函数,那个e(1)也不是构造函数,而是显式类型转换:x = T(y) 在 C++ 里面就等价于 x = (T)y

论坛徽章:
0
25 [报告]
发表于 2008-09-17 11:26 |只看该作者
原帖由 mhsy2003 于 2008-9-16 18:52 发表
为什么要用Enum?有啥好处,不用行不?


enum在模板元编程、traits等涉及到模板的地方有无可替代的妙用。。。

论坛徽章:
0
26 [报告]
发表于 2008-09-29 11:35 |只看该作者
学习了,确实有深度, 在学习感觉很简单,惭愧! 不过大多数使用enum 类型时, 是只读它的值,从来没有去写它!今天算是见识了!thx!

论坛徽章:
0
27 [报告]
发表于 2008-09-29 14:32 |只看该作者
原帖由 jediii 于 2008-1-30 17:38 发表
enum的秘密:enum是“用户自定义类型”

    呵呵,enum在实际中应用比较少,所以你会忽略它。但是,在这里,我告诉你,enum 和 struct、class一样,都是用户自定义类型。
    对呀!enum是用户自定义类型, ...


lz少见多怪:
int a;
a=int(); //哇,默认构造函数
a=int(1); //哇,拷贝构造函数
...

论坛徽章:
0
28 [报告]
发表于 2008-10-05 21:05 |只看该作者
mark

论坛徽章:
0
29 [报告]
发表于 2008-10-07 16:40 |只看该作者
学习了

论坛徽章:
0
30 [报告]
发表于 2008-10-07 19:46 |只看该作者
唉,这C++博大精深,不是一下子就能学好的,自己都在徘徊到底要不要继续深入学习这CPP呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP