请教new delete的使用

[复制链接]
 楼主| lzh8430 发表于 2012-10-5 21:56 | 显示全部楼层 |阅读模式
char *reverse(char *str)
{
int len=strlen(str);
char *ptr=new char[len+1];
         //......
return ptr;
}
我这里在调用函数中通过new开辟了新的内存,并返回这段内存的起始地址。问题是我应该在哪里释放 如何释放这段内存?
我不太清楚改如何释放子函数局部开辟的内存空间。
int main(void)
{
char *name="abcdefgh";
         char *ptr=reverse(name);
//....
delete []ptr;
ptr=NULL;

return 0;
}
这样对不对?请指教!
john_lee 发表于 2012-10-5 22:55 | 显示全部楼层
可以
原野之狼 发表于 2012-10-6 00:03 | 显示全部楼层
子函数new出来的空间同样是在堆上   所以你在该进程的其它地方也是可以访问到的  具体在哪里释放取决于设计的需要
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

81

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部