delete vs delete [] [英] delete vs delete[]

查看:129
本文介绍了delete vs delete []的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


可能重复:

(POD)释放内存:是delete []等于删除吗?

当我被教C ++时,这是很久以前。我被告知不要使用 delete delete [] code>在单个对象上将等效于 delete

When I was taught C++, this was a long time ago. I was told to never use delete but delete[] as performing delete[] on a single object will be equivalent to delete. Knowing not to trust teachers too much I wonder, Is this true?

是否有理由调用 delete 而不是 delete []

Is there ever a reason to call delete instead of delete[]?

我在SO扫描了可能相关的问题,任何明确的答案。

I've scanned the possibly related questions in SO, but haven't found any clear answer.

推荐答案

从标准(5.3.5 / 2):

From the standard (5.3.5/2) :


在第一个选项(删除
对象)中,
delete的操作数的值将是一个指向
非数组对象的指针或者指向表示这种对象的基本
类的
子对象(1.8)的指针(子句10)。

在第二个选项(删除
数组)中,
delete的操作数将是由前一个数组
new-expression产生的指针值
如果没有,
行为未定义。

等效!

这篇关于delete vs delete []的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆