C ++销毁对象

时间:2014-03-06 00:59:04

标签: c++ object memory

我认真了解内存泄漏带来的威胁。

我知道如果我创建一个指针,我需要删除它。

但我怎么样新建一个物体?

我需要自己摧毁一个吗?

c ++可以自己重新收集吗?

2 个答案:

答案 0 :(得分:4)

正确的代码是:

A *a = new A();

你必须自己销毁它:

delete a;

您通常只会使用new(在堆上)创建一个对象, 如果你想让它比现在的范围更长寿。 如果要在离开范围时销毁对象, 你只需要在堆栈上分配它:

{    A a;
}

如果你必须在堆上分配你的对象,请熟悉智能指针 - 不需要继承上个世纪的C编程理念!

答案 1 :(得分:2)

new A()返回指向对象而不是对象的指针。