2021年7月7日

摘要: 1、 从存储空间角度,虚函数相应一个指向vtable虚函数表的指针,这大家都知道,但是这个指向 vtable 的指针事实上是存储在对象的内存空间的。 问题出来了,假设构造函数是虚的,就须要通过 vtable来调用,但是对象还没有实例化,也就是内存空 间还没有,怎么找vtable呢?所以构造函数不能是 阅读全文
posted @ 2021-07-07 14:20 超人不会灰啊 阅读(371) 评论(0) 推荐(0)
 
摘要: 成员初始化列表的概念 在类的构造函数中,不在函数体内对成员变量赋值,而是在构造函数的花括号前面使用冒号和初始化列表赋值 效率 用初始化列表会快一些的原因是,对于类型,它少了一次调用构造函数的过程,而在函数体中赋值则会 多一次调用。而对于内置数据类型则没有差别。 阅读全文
posted @ 2021-07-07 00:33 超人不会灰啊 阅读(321) 评论(0) 推荐(0)
 
摘要: 一个类对象的地址就是类所包含的这一片内存空间的首地址,这个首地址也就对应具体某一个成员变量 的地址。(在定义类对象的同时这些成员变量也就被定义了) 对象的大小和对象中数据成员的大小是一致的,也就是说,成员函数不占用对象 的内存。这是因为所有的函数都是存放在代码区的,不管是全局函数,还是成员函数。要是 阅读全文
posted @ 2021-07-07 00:28 超人不会灰啊 阅读(240) 评论(0) 推荐(0)