定义一个数组的对象,那么数组中的对象是怎么占用空间的?

qq459673705 2010-12-13 11:33:00
比如说
item it[10];
在内存中怎么排列数组的元素?
1.是一个对象完全装进去,接着再将另一个对象装进区……(包含对象的成员函数)?
2.还是数组中只是装进每个对象的入口地址?
3.又或者只是装进對象的一部分,仅仅是数据?
如果是1的话那么每个对象都要重复装进内存很多内容(成员函数等等),是不是太浪费空间了?成员函数装进去的又是什么?是整个函数体还是函数得入口地址?

问题有些多,谢谢了!
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
实例化一个对象,只包含里面的数据成员的空间和一些象虚函数指针等系统的空间,不包括成员函数的空间。

int it[10]; 10个整型空间连续存放。
item it[10]; 10个item对象空间连续存放
  • 打赏
  • 举报
回复
lz 先找本 《深入探索C++对象模型》 看看
qq459673705 2010-12-13
  • 打赏
  • 举报
回复
多谢了!
ww884203 2010-12-13
  • 打赏
  • 举报
回复
成员函数是不会放到数组里面去的,放进去的只有数据或者虚函数指针之类的
luciferisnotsatan 2010-12-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhaolipingx 的回复:]

实例化一个对象,只包含里面的数据成员的空间和一些象虚函数指针等系统的空间,不包括成员函数的空间。

int it[10]; 10个整型空间连续存放。
item it[10]; 10个item对象空间连续存放
[/Quote]
正解
erhan_106 2010-12-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhaolipingx 的回复:]
实例化一个对象,只包含里面的数据成员的空间和一些象虚函数指针等系统的空间,不包括成员函数的空间。

int it[10]; 10个整型空间连续存放。
item it[10]; 10个item对象空间连续存放
[/Quote]
楼上的说的很详细了。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧