sofard

导航

2018年10月20日 #

构造函数,C++内存管理,内存泄漏定位

摘要: 构造函数 1.构造顺序 虚基类构造函数,基类构造函数,类对象构造函数,自己的构造函数 2.必须使用初始化列表 (1) 引用成员,常量成员; (2) 基类没默认构造函数(自己重载覆盖了), (3)类对象成员没默认构造函数(自己重载覆盖了) 3.析构顺序 reverse( 虚基类构造函数,基类构造函数, 阅读全文

posted @ 2018-10-20 15:25 sofard 阅读(234) 评论(0) 推荐(0) 编辑

内联函数,宏定义,内存对齐,类型转换

摘要: 宏 与 inline的区别 存在的价值,两者都是文本替换,降低程序跳转次数,提高效率 1. define 是预处理命令,无法调试 ,最简单文本替换, inline 是编译期替换,可以调试, 存在参数类型检查 2. 使用inline的时候,函数必须定义 直接定义的函数,自动转化为inline defi 阅读全文

posted @ 2018-10-20 15:07 sofard 阅读(393) 评论(0) 推荐(0) 编辑

智能指针实现

摘要: 原来的内存管理代码 int main(){ int *ptr = new(nothrow) int(0); //关闭异常 if(!ptr) { cout << "new fails." return 0; } if(!check()) ///有校验 ,抛出异常,每次都得管理内存 { delete p 阅读全文

posted @ 2018-10-20 14:18 sofard 阅读(130) 评论(0) 推荐(0) 编辑

指针,引用,数组

摘要: 指针与引用的定义与区别 1. 指针:指针是一个变量,存储的是一个地址,指向内存的一个存储单元; 引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已; 2. NULL,初始化,能否改变 3. sizeof() 大小 4.函数参数传递,引用不会拷贝任何副本,指针还是拷贝指针副本 ///// 阅读全文

posted @ 2018-10-20 13:34 sofard 阅读(226) 评论(0) 推荐(0) 编辑