社区
C++ 语言
帖子详情
一个sizeof()的问题.
一个傻冒
2003-12-07 11:12:14
前不久写了一个类.
class A{
private:
int a;
char b;
};
用sizeof(A)输出时发现大小为8个字节.这是怎么回事?
...全文
75
8
打赏
收藏
一个sizeof()的问题.
前不久写了一个类. class A{ private: int a; char b; }; 用sizeof(A)输出时发现大小为8个字节.这是怎么回事?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
一个傻冒
2003-12-07
打赏
举报
回复
伙计,我也想过可能是数据对齐的问题.不过一直得不到验证.谢谢.
relaxyc
2003-12-07
打赏
举报
回复
我只知道这是字节对齐的问题,整个结构体所占的空间必须是其中最大的一个数据成员所占空间的倍数。如上面a:4,b:1,就占8个字节。
深层的还是请高手解答吧!
帮你顶一下!
glacierrr
2003-12-07
打赏
举报
回复
边界对齐的老问题了
redhat_xu
2003-12-07
打赏
举报
回复
不知楼主说的是什么意思!
nirvana_li
2003-12-07
打赏
举报
回复
赞同tiarts(帝耳寺)的.楼主还可以参考以下<深入C++对象模型>前2章.
tiarts
2003-12-07
打赏
举报
回复
为了能使聚集体能更有效率地在内存中被存取,一般聚集体的结构大小会受到Alighnment的限制。
alignment 就是将数值调整到某数的整数倍,在32位计算机上,通常alignment为4bytes(32位),以使bus的运输量达到最高效率。
按上看,a是int,占4bytes,b是char,占1bytes,另由于alignment的限制,还需加上3bytes,共8bytes, 应该没错吧,请高手指教!!!
liquanle
2003-12-07
打赏
举报
回复
书上说的是除了数据对齐的问题耗费空间,就可以说类所占用空间就会是类成员数据总空间之和。
blue
2003-12-07
打赏
举报
回复
搜索以下老帖子吧~!
C++11新特性(69)-
sizeof
...运算符
假设有
一个
程序,需要接受文字信息并生成学生档案,信息的形式为: "Name:ABC", "Age:20", "Wight:73","Address:Dalian", "Interest:football" 程序解析上述...
Marshal.
SizeOf
和
sizeof
的区别
Marshal.
SizeOf
和
sizeof
的区别 ...
sizeof
在非Unsafe环境下只能用于预定义的一系列类型,如Int,Short等等。而在Unsafe环境下,
sizeof
可以被用于值类型,但是值类型中不可以有引用类型,否则C#编译器会报错
C# Marshal.
SizeOf
和
sizeof
的区别
C#中相应的结构体里用的却是bool类型,可是bool类型只占
一个
字节,于是我就产生了疑问,为什么这样不会导致结构体所占的字节大小不同呢? 这是因为我们在封装定义结构体时,是非托管代码。我们在C#中直接
sizeof
...
Go语言之unsafe.
sizeof
()
初遇unsafe.
Sizeof
()时,以为Go语言中的
sizeof
和C语言的
sizeof
不太一样,对于算出的值也是一脸懵逼。深入了解才发现两者并没有区别,是自己误解了。 package main import ( "fmt" "unsafe" ) func main(){ var ...
C/C++中
sizeof
详解
然而
sizeof
又非常复杂,它涉及到很多特殊情况,本篇把这些情况分门别类,总结出了
sizeof
的10个特性: (0)
sizeof
是运算符,不是函数; (1)
sizeof
不能求得void类型的长度; (2)
sizeof
能求得void类型的指针的长度; ...
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章