【发布时间】:2011-05-14 10:12:38
【问题描述】:
当我学习 C++ 时,这是很久以前的事了。我被告知永远不要使用delete,但delete[] 在单个对象上执行delete[] 将等效于delete。知道不要太相信老师,我想知道,这是真的吗?
有没有理由打电话给delete 而不是delete[]?
我浏览了 SO 中可能相关的问题,但没有找到任何明确的答案。
【问题讨论】:
-
/me 有点呕吐。他们是否建议您也总是调用 new[1]?
-
当他们说“从不”时不要相信他们。所有强有力的陈述都是错误的。
-
实际上在少数情况下您需要在 C++ 中使用
delete[]。最好使用std::vector或boost::array。 -
@Kirill “所有强有力的陈述都是错误的。”这种说法自相矛盾。
-
我很确定那是他的玩笑。
标签: c++ memory-management delete-operator