我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:双彩网 > 栈法 >

CC++编程问题用栈方法实现内存的申请和释放?

归档日期:07-05       文本归类:栈法      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部先知道概念,C++动态生成的空间都是在栈中,例如 int *a = new int; 分配一个int型的空间,地址值赋给a,这个空间是动态生成,所以是栈空间,还有局部变量也是;

  总之,当程序中函数执行完就释放的空间是栈,局部变量;当程序执行完再释放的空间是堆,全局的

  //g_FreeBuf[] 为一个内存块数组,也就是你要用的栈,g_Top记录了栈顶位置

  在栈内存中存放了一个指向一块堆内存的指针p。程序会先确定在堆中分配内存的大小,然后调用 operator new分配内存,然后返回这块内存的首地址,放入栈中。

  需要使用的时候,从堆栈pop,使用完毕,看一下能否归还,如果能归还,则入栈,否则释放掉

本文链接:http://apawoodbury.com/zhanfa/189.html