本篇记录 《侯捷 C++内存管理 》,整理各节的要点,以备查阅
1.Overview
2.内存分配的每一层面
3.四个层面的基本用法
1)、对比一下:
4.基本构件之一newdelete expression(上) ——》new和operator new、malloc()函数的的关系:
5.基本构件之一newdelete expression(中) ——》直接调用析构函数
6.基本构件之一newdelete expression(下)
7.Array new 、array delete的泄露问题——》泄露的是指针指向的内存空间
当new[ ]的对象是int 或者复数等类型时,delete和delete[ ] 都是可以的,因为对象里面没有指针,析构函数不会清理指针所指向的内存;但是如果new[ ]的对象是带有指针的话,那么就一定要用delete[ ] 了。
8.Replacement new——》已经申请分配好了内存地址,如下:buf
总结:new ——》array new——》placement new的区分
9.重载
——》看operator new函数是否有重载,如果没有重载,就调用全局的operator new;如果有重载,就用重载过的函数。
10——11.重载示例(上 中 下)
placement new的重载示例: