第五周 笔记

1、关于vptr和vtbl

       只有有虚函数的class才有;

        vptr占用class对象一个指针的位置

        vptr是一个指针,指向vtbl

        多态,由p指针指向需要执行的虚函数,从而实现动态绑定【p类型是父类的指针,但却指向的是子类在内存的位置】

2、有四种new  delete

1、new   常用的初始化一个对象

2、operator new   构造一个对象分配内存时用

3、array new   构造一个数组用

4、::operator new  全局

ps:第三条new数组时默认会多四个字节的大小,用于存储数组的大小,这样在释放内存时就有依据

3、构造crash时防止内存泄漏的处理办法

用法:

还有两种处理构造时防止内存泄漏的方法

1、使用智能指针

2、构造函数里的初始化操作,放在init等函数里执行,当有内存泄漏时及时捕获处理。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容