我认真了解内存泄漏带来的威胁。
我知道如果我创建一个指针,我需要删除它。
但我怎么样新建一个物体?
我需要自己摧毁一个吗?
c ++可以自己重新收集吗?
答案 0 :(得分:4)
正确的代码是:
A *a = new A();
你必须自己销毁它:
delete a;
您通常只会使用new(在堆上)创建一个对象, 如果你想让它比现在的范围更长寿。 如果要在离开范围时销毁对象, 你只需要在堆栈上分配它:
{ A a;
}
如果你必须在堆上分配你的对象,请熟悉智能指针 - 不需要继承上个世纪的C编程理念!
答案 1 :(得分:2)
new A()
返回指向对象而不是对象的指针。