为了账号安全,请及时绑定邮箱和手机立即绑定

delete函数可以放在功能函数里吗?

delete函数可以放在功能函数里吗?

阿晨1998 2019-01-15 14:10:22
例如int* process(int* arr){int* b = new int[10]; for(int i = 0; i<10; i++)b[i] = *(arr+i) + 1;...return b;delete[] b;}这样写对吗?如果在main函数中要调用process( )这个函数,并输出它的返回值,可以调用成功吗?不会因为在process()里已经释放了b的内存就使结果错误吧?(前提是main函数只调用了这一个函数)
查看完整描述

2 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

这个delete不可以放在里面,因为你已经返回了,你可以在外面加一个函数,函数里面就一个delete.


void releasebuf(int *tt)
{delete[] tt;}
这样等你要释放时调用他就行了

查看完整回答
反对 回复 2019-03-22
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

执行完return语句后,函数调用结束,不会执行delete

查看完整回答
反对 回复 2019-03-22
  • 2 回答
  • 0 关注
  • 816 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信