目录 一、C/C++内存分布 1.1不同变量的存储位置和大小 1.2C/C++内存分布示意图 1.3栈 1.4堆 1.5内存映射段 1.6虚拟内存 | 物理内存 1.7内存区域特点 二、C语言中动态内存管理方式 2.1 malloc/calloc/realloc和free 2.2 malloc/calloc/realloc的区别 三、C++内存管理方式 3.1new 和 delete 操作符进行动态内存管理 3.2 new和delete操作自定义类型 3.3new delete的种特性有什么用 ? 3.4如果不匹配使用会怎么样? 四、operator new与operator delete函数 —— 重点 4.1 operator new与operator delete函数 4.2 为什么要去调用 operator new 而不是调用其它的呢 ? 4.3 抛异常 4.4operator new 和 operator delete 源码 4.5直接使用 operator new 和 operator delete 五、new和delete的实现原理 5.1 内置类型 5.2 自定义类型 5.2.1new 的原理: 5.2.2delete 的原理: 5.2.3new T[N] 的原理: 5.2.4delete[] 的原理: 5.3malloc/free new/delete 对比 5.4场景使用 六、定位new表达式(placement-new) 6.1概念 6.2使用场景: