c++ 内存管理
Array new和 Array delete走的逻辑路线图
图1
图1中 如果每次去new效率较低,因此会先挖一大块内存,在将内存一次次的分隔,需要就直接供应。这样就降低了malloc的调用次数。
从上图1可以知道在new一块空间的时候,是如何一步步调用底层做到的。图2左边的是容器,图1的第二步,在容器内,把构造函数和析构函数包装在内部,内存的分配动作被拉到分配器来操作,分配器在过程中做的就是下面一些自由链表的分配和存储
图2
由图3和图1对比可以看出,到第三步的底层操作都是一样的。
图3