只有博主才能阅读该文。 阅读全文
posted @ 2020-08-04 21:32 min_zhi 阅读(0) 评论(0) 推荐(0) 编辑
只有博主才能阅读该文。 阅读全文
posted @ 2020-07-19 16:40 min_zhi 阅读(0) 评论(0) 推荐(0) 编辑
摘要:一、编译器什么情况下合成构造函数 类A没有自定的缺省构造函数 1、该类中包含一个类型B成员变量,类B有一个缺省的构造函数 合成的这个默认构造函数目的是为了调用成员变量的缺省构造函数 2、父类带缺省构造函数 3、类中含有虚函数 (1)编译器会为我们生成一个基于该类的虚函数表 (2)把类的虚函数表地址赋 阅读全文
posted @ 2020-07-16 20:16 min_zhi 阅读(32) 评论(0) 推荐(0) 编辑
只有博主才能阅读该文。 阅读全文
posted @ 2020-07-13 17:40 min_zhi 阅读(0) 评论(0) 推荐(0) 编辑
摘要://定位new placement new //功能:在已分配好的原始内存中初始化一个对象 //所做的事情: //(1)内存已经分配,定位new并不分配内存,需要提前将这个定位new要是用的内存分配出来 //(2)初始化一个对象(的内存),也可以说是调用这个对象的构造函数 //格式: //new ( 阅读全文
posted @ 2020-07-02 23:04 min_zhi 阅读(57) 评论(0) 推荐(0) 编辑
摘要:代码示例 MyAlloc 是一个采用嵌入式指针做的内存池分配内存的类,采用这种技术的类,其sizeof()的值不少于4。 class MyAlloc { public: void* allocate(size_t size); // size分配的内存大小 void deallocate(void* 阅读全文
posted @ 2020-07-02 22:27 min_zhi 阅读(106) 评论(0) 推荐(0) 编辑
摘要:一、基本原理和概念一般应用在内存池相关的代码中,成功使用嵌入式指针的前提条件,类A的大小必须不小于4字节工作原理:借用类A对象所占用内存空间的前4个字节,用这4个字节来链接这些空闲的内存块一旦某一块被分配出去,那么这个快的前4个字节就不再需要,此时这4个字节可以被正常使用 二、代码实现 class 阅读全文
posted @ 2020-07-02 07:51 min_zhi 阅读(219) 评论(0) 推荐(0) 编辑
摘要:一、内存池的概念和实现原理 内存池要解决的问题: (1)减少malloc的次数,意味着减少对内存的浪费(主要问题) (2)减少malloc的次数,会有一些速度和效率上的提升,但是提升不明显(顺带) 实现原理: (1)用malloc申请一大块内存,当要分配的时候,从这一大块内存中一点一点分配, 当这一 阅读全文
posted @ 2020-07-01 23:08 min_zhi 阅读(30) 评论(0) 推荐(0) 编辑
摘要:一、new/delete 的过程 A* pa = new A(); operator new(); // 其中调用malloc来分配内存 A::A(); delete pa; A::~A(); operator delete(); // 其中调用free释放内存 new/delete(malloc/ 阅读全文
posted @ 2020-07-01 21:13 min_zhi 阅读(36) 评论(0) 推荐(0) 编辑
只有博主才能阅读该文。 阅读全文
posted @ 2020-06-29 11:14 min_zhi 阅读(5) 评论(0) 推荐(0) 编辑