STL内存池

参考:https://blog.csdn.net/a987073381/article/details/52245795

简单说,就是allocator对于128B以上的数据,直接malloc分配,对于128B以下的数据,向堆申请一大块内存作为内存池,然后使用16个空闲链表,每个链表分别维护长度为8、16、24…128大小的块。对于申请量n,先向上取到8的倍数,然后查询对应的空闲链表,有就分配,没有的话:
1.向内存池申请一块内存,补充空闲链表;
2.若没有,内存池向堆再申请一块内存,执行1;
3.若也没有,则向别的空闲链表获取空闲块,若还是没有,就返回NULL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值