如果我从不称呼“新”,我是否必须打电话给“删除”?

时间:2012-08-27 01:46:40

标签: c++ memory-management

如果我设法通过

在C ++中构造对象
Object o;

而不是

Object *o = new Object();

在任何情况下,我是否需要拨打delete或自动管理所有内存?

2 个答案:

答案 0 :(得分:14)

没有。该对象在堆栈上分配,并在超出范围时自动销毁。这包括释放内存并调用析构函数。

答案 1 :(得分:3)

您无法在未使用delete分配的对象上调用new。当对象超出范围时,对象将被销毁。

相关问题