c++ 固定分配大小的简单内存池

本文介绍了作者在学习STL源码编程时,尝试自己实现的一个固定大小的内存池,并分享了2015年阿里实习笔试中涉及内存池的题目解法。文章附带了测试代码以确保内存池的正确运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近学习stl源码编程,一直想自己实现一个内存池,恰好前段时间2015阿里实习笔试有一道内存池的题目,将代码写在这里了。

//
// Created by ma on 2015/6/28.
//

#ifndef MEMORYPOOL_H_
#define MEMORYPOOL_H_
#include <stddef.h>

typedef enum M_P_SIZE{
 INIT_SIZE=16,
 ADD_BUFF_SIZE=32
}M_P_SIZE;

class MemoryPool {
   
public:
    MemoryPool(size_t buff_size=1,size_t freesize=INIT_SIZE);
    ~MemoryPool();
    void *allocate();
    void deallocate(void *p);
    size_t chuck(const size_t n);

    size_t get_free_buff_size() const { return free_buffer_size;}
    size_t get_total_buf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值