堆中分配的内存如何释放空间。
如果在栈中动态分配对象,那么这个对象随着这个函数SCOPE结束就释放了?还是就指针变量空间释放了,但是对象的内存空间还在,那么一定要定义一个全局的指针变量?
希望能得到HELP.

解决方案 »

  1.   

    new ->delete
    malloc -> free
      

  2.   

    指针变量的 SCOPE 结束,那意味着,不可能在该XX(比如函数)退出后在访问该变量;但曾经分配的内存还在,那意味着,可以在该XX(比如函数)退出后继续访问,操作(如果你用其他的方法找的到它的话);
      

  3.   

    堆中分配的内存要delete。只有new分配的内存才需要手动delete
    栈中的释放是自动的,随scope自动释放
      

  4.   

    不一定非要定义全局变量,你可以在一个函数中 new 一块内存,然后把指针传出去,由另一个函数 delete 它。