| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 507 人关注过本帖
标题:有关对象的问题?
只看楼主 加入收藏
明天不一样
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-8-31
收藏
 问题点数:0 回复次数:5 
有关对象的问题?
我们都知道,对象在内存中只存储他的数据成员,那么它的成员函数在什么地方呢?
搜索更多相关主题的帖子: 对象 
2006-11-04 20:47
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
保存函数指针

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-11-04 20:48
明天不一样
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-8-31
收藏
得分:0 
例如对象中有数据成员:int x和int y,那么其对象在内存中占:sizeof(int)*2  个字节,还是:sizeof(int)*2+指针占用的字节,

可怜可怜我吧!小弟知识贫乏,快要饿死了,大哥大姐你们行行好,给点编程知识吧!我会永远记住你们的恩情。
2006-11-04 21:03
litcatyx
Rank: 1
等 级:新手上路
威 望:1
帖 子:151
专家分:0
注 册:2006-10-27
收藏
得分:0 
在程序的代码段,代码段是一块内存区域专门存放可执行代码的

关于对象的大小最好不要做过多的假设,因为许多机制都会影响到对象的大小,虚函数就是其中一个,即使类中没有虚函数,对象的大小也可能不是你所预料的

class A
{
char a;
int i;
};

如果sizeof(char)==1,sizeof(int)==4;那么sizeof(A)==?
在我这sizeof(A)==8;因为当中涉及到许多编译器细节,当看完Inside the C++ Model之后,这些就相当明了了

2006-11-04 21:26
litcatyx
Rank: 1
等 级:新手上路
威 望:1
帖 子:151
专家分:0
注 册:2006-10-27
收藏
得分:0 
哦,错了,少写了一个单词,是
Inside the C++ Object Model
中文名
深度探索C++对象模型

2006-11-04 21:37
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
以下是引用litcatyx在2006-11-4 21:26:30的发言:
在程序的代码段,代码段是一块内存区域专门存放可执行代码的

关于对象的大小最好不要做过多的假设,因为许多机制都会影响到对象的大小,虚函数就是其中一个,即使类中没有虚函数,对象的大小也可能不是你所预料的

class A
{
char a;
int i;
};

如果sizeof(char)==1,sizeof(int)==4;那么sizeof(A)==?
在我这sizeof(A)==8;因为当中涉及到许多编译器细节,当看完Inside the C++ Model之后,这些就相当明了了

这是对齐原则
跟LZ说的不是一个


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-11-04 21:42
快速回复:有关对象的问题?
数据加载中...
 
   



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

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