第1个回答 2010-02-28
new是在堆上分配内存,它需要用delete释放,否则会造成内存泄漏(使用的内存没有即时释放,造成内存的浪费)
而A a在右大括号执行后,会自动释放内存
如
int main()
{
A a;//定义了一个a对象
A *p=new A;//在堆上定义了一个对象,它的指针保存在p里,注意,堆上定义的对象没有名字,必须用指针保存
return 0;
}//a到这里的时候,它占用的内存就会被回收 而p,除非调用delete p; 否则内存永远不会被回收,指针p丢弃后,那块内存没被释放,无法被再次使用,造成内存浪费本回答被提问者采纳