21.2.3 释放栈内存
栈空间在不使用时要释放掉。由于栈一般都是系统在管理,所以栈的释放不用程序员来处理。当某个变量的生命期结束时,系统会自动释放该变量所占用的空间。如果是从内层递归返回,系统会自动释放内层递归所申请的空间,弹出上层递归保留的变量和一些其他的参数。这些处理都在系统内进行,编写程序时不需要考虑。
在21.2.2节的示例21-6中,由于栈是模拟的,所以分配和释放都要由程序本身来处理。该模拟栈的空间释放是在析构函数内,必须释放所有栈空间,否则会浪费内层。value不是栈的节点,而是保存了指向栈顶的指针,也必须释放,否则也会浪费内层。
【责任编辑:
云霞 TEL:(010)68476606】