请教一下对象在内存中的问题

louieiii 2001-11-06 07:51:26
请教高手一个问题:
应用程序装入内存时,代码区是不是有类的模版,创建一个对象时,程序是不是据此建立一个虚函数表指针,并为成员变量分配内存,那程序是如何访问对象的非虚成员函数并传递 This 指针的? 每个对象是不是有个指向类模版的指针?
请教了!!
...全文
39 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
chxr 2001-11-06
  • 打赏
  • 举报
回复
诶。首先提到的虚函数表是指类里面的虚函数组成的一个函数指针表。
类的事例是通过类的VPTR(一般是类空间的第一个4个BYTE的字节)去访问。
其次类的成员按照定义的顺序产生空间。当然如果是继承来的。也要包含
基类的成员。至于非虚函数。首先在调用的时候要把this指针最后压栈(这也是
thinking in c++ p282页提到的“压栈的次数比参数个数多一个”)
然后再取到函数指针去CALL。。

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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