动态内存分配算法

来源:互联网 发布:查看端口占用linux 编辑:程序博客网 时间:2024/06/05 15:43

在实际的环境中,可能会遇到需要反复申请释放内存空间的情况,而每次申请的内存空间大小又不确定,如果每次都申请,效率肯定会比较低

下面的算法,可以减少无用功,仅在需要更大的内存时,重新申请一次


void getBuffer(char** ppBuf, int uSize){if (*ppBuf){if (_msize(*ppBuf) < uSize){delete[] *ppBuf;*ppBuf = NULL;*ppBuf = new char[uSize];}}else{*ppBuf = new char[uSize];}}