返回信息流struct A
{
enum day{monring, moon, aftermoon};
};
sizeof(A) //1
sizeof(A::day) //4
请解释为什么是这样?
这是一条镜像帖。来源:北邮人论坛 / cpp / #25862同步于 2009/7/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
枚举大小
xintai
2009/7/4镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
想说明什么呢
【 在 xintai (心态) 的大作中提到: 】
: struct A
: {
: enum day{monring, moon, aftermoon};
: ...................
他想问为什么A是1A::day是4...
而且他编辑了一次把问题弄到qmd里面了...
【 在 FadeToBlack (Patz) 的大作中提到: 】
: 想说明什么呢
【 在 xintai 的大作中提到: 】
: struct A
: {
: enum day{monring, moon, aftermoon};
: ...................
枚举不会占用类对象的空间
一个空的类大小为1
不对。
枚举占的空间是实现相关的,标准只规定编译器所用的类型能够容纳枚举所有的元素。
c/c++标准都是这么规定的。
【 在 FadeToBlack 的大作中提到: 】
: 一个空的类型为啥占1字节就不知道了,乌龟屁股吧
: 至于枚举,记得在哪看过实现是用int,(只是不能完全当int用)所以是4bytes