| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 672 人关注过本帖
标题:问个关于内存对齐的问题...
取消只看楼主 加入收藏
ToBeOOP
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:106
专家分:181
注 册:2010-7-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
问个关于内存对齐的问题...
class Funtion  {
    private:
        char a;
        int b;
        short c;
};

那么他们的排列应该是哪个?
 1.OXXX|OOOO|OOXX
 2.OXXX|OOOO|XXOO
( X代表补充偏移空出的位置 )
我个人感觉第二种是对的...希望求解
搜索更多相关主题的帖子: 内存 
2010-12-14 18:18
ToBeOOP
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:106
专家分:181
注 册:2010-7-8
收藏
得分:0 
我认为是..short是2字节...所以偏移量是2。.所以先偏移2。然后再偏移过的位置上补位
2010-12-14 19:23
ToBeOOP
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:106
专家分:181
注 册:2010-7-8
收藏
得分:0 
首部的偏移量应该为0的吧..我看了下..偏移量是自身长度的倍数.如果short的长度为2的话..那么第一种的话则偏移了8...是2的倍数..所以我现在支持第一种= =
2010-12-14 21:49
ToBeOOP
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:106
专家分:181
注 册:2010-7-8
收藏
得分:0 
那偏移量应该选最小值...但是首部依然不偏移
2010-12-15 17:51
ToBeOOP
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:106
专家分:181
注 册:2010-7-8
收藏
得分:0 
明白了..谢谢各位的回答....
2010-12-15 21:21
快速回复:问个关于内存对齐的问题...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012544 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved