c++ 内存管理

Array new和 Array delete走的逻辑路线图
图1
图一
图1中 如果每次去new效率较低,因此会先挖一大块内存,在将内存一次次的分隔,需要就直接供应。这样就降低了malloc的调用次数。

从上图1可以知道在new一块空间的时候,是如何一步步调用底层做到的。图2左边的是容器,图1的第二步,在容器内,把构造函数和析构函数包装在内部,内存的分配动作被拉到分配器来操作,分配器在过程中做的就是下面一些自由链表的分配和存储
图2

由图3和图1对比可以看出,到第三步的底层操作都是一样的。
图3

posted @ 2020-11-08 17:16  不擅长纵横的捭阖家  阅读(53)  评论(0编辑  收藏  举报