目标:创建可复用的数据结构软
来自狄泰软件学院
记录本人学习过程中不熟悉的知识点
1.创建DTLib::Object类的意义
- 遵循经典设计准则,所有数据结构都继承自Object类
- 定义动态内存申请的行为,提高代码的可移植性
2.Object类
void* Object::operator new (size_t size) throw();//不抛出任何异常,在QT5.12中重载new new[]需要把unsigned int 更换为 size_t
3.Exception类
- 深拷贝与浅拷贝
- 对一个已知对象进行拷贝,编译系统会自动调用一种构造函数—拷贝构造函数,如果用户未定义拷贝构造函数,则会调用默认拷贝构造函数(浅拷贝)。
- 在对含有指针成员的对象进行拷贝时,必须要自己定义拷贝构造函数,使拷贝后的对象指针成员有自己的内存空间,即进行深拷贝,这样就避免了内存泄漏发生。
C++面试题之浅拷贝和深拷贝的区别
- strdup
将字符串拷贝到新建的位置处,内部调用malloc实现