假设我有一个名为A的类:
Class A { ... }
以下两种实现对象的方法之间的区别是什么:
void main(void) { A a; // 1 A *pa=new A(); // 2 }
正如我目前的理解(尚未确定):
>方法1在main()方法的堆栈帧上分配对象a,因此该对象不能删除,因为删除没有意义(不知道为什么,有人可以解释一下吗?).
>方法2在进程的堆上分配对象a,并在main()方法的堆栈帧上分配A * vairable pa,因此可以删除对象,并且可以在删除后将pa指定为null.
我对吗?如果我的理解是正确的,有人可以告诉我为什么我不能在方法1中从堆栈中删除一个对象?
非常感谢…