类调用构造器的时候编译器干了什么?

vn68214 2007-05-23 10:28:12
一直在想这个问题,总不会在内存里把类的定义复制一遍吧,开销太大了
类内的函数是不是都用函数指针保存了呢?但又没有占空间,高手指教
...全文
168 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2007-05-24
  • 打赏
  • 举报
回复
初学者就暂时跳过这个问题,不要浪费时间在比较深的问题上。
以后知识多了自然会理解这些问题的。
vn68214 2007-05-23
  • 打赏
  • 举报
回复
大家能不能较清楚点啊,我是初学者
长尾巴的悟空 2007-05-23
  • 打赏
  • 举报
回复
类表
lidongri 2007-05-23
  • 打赏
  • 举报
回复
对于VIRTUAL机制,编译器做了另一个动作
vn68214 2007-05-23
  • 打赏
  • 举报
回复
但为什么那些函数的指针,静态成员变量的指针都没占内存呢,只有虚函数指针占了内存呢
还有如果定义了一个父类和他的子类那构造函数是怎么调用的呢
为什么
son::son(void)
: father(void) {};
是可以的呢
不是构造函数只能调用一次而且父类的构造函数先调用吗
lidongri 2007-05-23
  • 打赏
  • 举报
回复
inside the C++ object model讲解的很明白。
--
静态成员变量,静态和非静态的成员函数的指针保存在vptr中。
而非静态成员变量则保存值

64,642

社区成员

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

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