基本概念
内存管理:避免内存碎片产生,使程序长期稳定,高效的运行。
1、内存池
从系统中申请足够大小内存,由程序自己管理,避免内存泄漏
2、对象池
创建足够多的对象,减少创建释放对象消耗,避免内存泄漏
3、智能指针
保存被创建的对象,正确释放,避免内存泄漏
C风格:申请内存:malloc 释放内存:free
C++风格:申请内存:new 释放内存:delete
//1
char* data1 = new char[128];
delete[] data1;
//2
int* data2 = new int;
delete data2;
//3
char* pMem = (char*)malloc(64);
free(pMem)
像java等语言运行在容器中的不需要担心内存碎片的产生,而对于我们C++需要定义的内存池(重载new运算符)管理我们的内存,来处理内存碎片
设计内存池要具备以下特性:高效、逻辑简单、针对性强、使用简单