打印

请教new delete的使用

[复制链接]
1164|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

粉丝