社区
C++ 语言
帖子详情
enum的数据类型是int还是uint啊?多少位呢?
rickypc
2009-09-14 03:19:33
enum的数据类型是int还是uint啊?多少位呢?8位?16位?32位?64位?
...全文
5014
14
打赏
收藏
enum的数据类型是int还是uint啊?多少位呢?
enum的数据类型是int还是uint啊?多少位呢?8位?16位?32位?64位?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kobemouse
2009-09-14
打赏
举报
回复
1
在编译系统的缺省情况下,enum为32位(32位平台下),但如果加入了编译选项(如GCC下的-fshort_enums),那编译系统将根据enum定义的最大值自动确定存储大小。
borefo
2009-09-14
打赏
举报
回复
不好意思,说错了,在这里更正一下:
1)enum类型就是一种类型,但它在计算机里是以整型的方式存储的
2)由1)得出enum不是int,不支持++,+=,-=
3)可以把一个int强制转成enum型付给enum变量,但是不推荐这么用,因为enum可能不是连续的数值
MiJoyWei
2009-09-14
打赏
举报
回复
enum是枚举类型的,它本身也是一种数据类型,可以有数据成员和成员函数!但是它所带的数据成员为int型的,我是新手,不知道我这样说对不对,我个人是这样理解的!
borefo
2009-09-14
打赏
举报
回复
[Quote=引用 6 楼 yangyunzhao 的回复:]
引用 4 楼 w0911h 的回复:
enum的实际类型就是int,可以为负值,长度和int型一样,32位机上通常是32位
那它可以++么,可以+=么,可以-=么?典型的int运算不支持,能算int么?
[/Quote]
可以的,但是不推荐这么用,因为enum可能不是连续的数值
rickypc
2009-09-14
打赏
举报
回复
不好意思,我的问题表达有点问题,enum是枚举类型啊,但是其中的数据表示是整型的,谢谢!
cba_v
2009-09-14
打赏
举报
回复
enum 我的理解 是const int或者是 宏定义(但是 不是简单的替换)
w0911h
2009-09-14
打赏
举报
回复
可能我表达有误,枚举类型本身是一种基本数据类型,它的值本质上就是一些int型的集合
[Quote=引用 6 楼 yangyunzhao 的回复:]
引用 4 楼 w0911h 的回复:
enum的实际类型就是int,可以为负值,长度和int型一样,32位机上通常是32位
那它可以++么,可以+=么,可以-=么?典型的int运算不支持,能算int么?
[/Quote]
hoomey
2009-09-14
打赏
举报
回复
写错了 改下
4楼正解
在补充一下
enum定义的值不能修改,相当于const int
yangyunzhao
2009-09-14
打赏
举报
回复
[Quote=引用 4 楼 w0911h 的回复:]
enum的实际类型就是int,可以为负值,长度和int型一样,32位机上通常是32位
[/Quote]
那它可以++么,可以+=么,可以-=么?典型的int运算不支持,能算int么?
hoomey
2009-09-14
打赏
举报
回复
4楼正解
在补充一下
enum定义的值不能修改,相当于const uint
w0911h
2009-09-14
打赏
举报
回复
enum的实际类型就是int,可以为负值,长度和int型一样,32位机上通常是32位
kouwenlong
2009-09-14
打赏
举报
回复
枚举也是一种类型。
Lochan
2009-09-14
打赏
举报
回复
enum不是枚举么。。
yangyunzhao
2009-09-14
打赏
举报
回复
enum的类型就是enum啊。怎么会是int呢?
你尝试把enum的变量++看!
Protobuf 介绍与实战51:在proto文件中,
数据类型
为
int
32,
int
64,u
int
32,u
int
64,s
int
32,s
int
64,bool,
enum
时,对变量值采用何种方式编码?
1 go grpc-go 相关技术专栏 总入口 2 Protobuf介绍与实战 图文专栏 文章目录 本次测试环境是64
位
Mac系统 1、
数据类型
为
int
32,
int
64,u
int
32,u
int
64,bool,
enum
时,Var
int
是如何编码的? 1.1、测试用例1:先看一下十进制1的二进制形式;以及在64
位
操作系统下,1占用多少字节? 可以使用Var
int
编码进行改进。 1.2、测试用例2:使用Var
int
编码,传输十进制1的情况 如果不考虑是32
位
操作系统,还是64
位
操作系统的话,用1个字节来表
C语言
enum
数据类型
C语言
enum
数据类型
enum
类型变量强制转换为u
int
_16类型,是向上转换,还是向下转换?
C语言基础再出发
enum
的
数据类型
enum
的
数据类型
,默认是
int
int
和 枚举类型
enum
的转换 in c++
最近在将c源文件改成cpp时,编译时出现很多的错误,对于不同类型间的转换c编译器没问题的,但在c++编译器里可能就报错,如将
int
类型直接赋给
enum
类型,将会出现类似这种错误: 我们知道在c中,
enum
类型默认是
int
类型,它们之间可以自动转换,但在c++中却不是这样的。可以参考:https://isocpp.org/wiki/faq/newbie#
enum
eration-is-its-own-type 截取如下: c++编译器支持从
enum
类型自动转换为...
C++ 语言
64,643
社区成员
250,474
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章