关于程序结束前释放对象的问题
新手求答,我想达到程序结束前释放对象的内存空间的目的。
1.做了个实验
#include "stdio.h"
#include <iostream.h>;
class stud
{ public:
~stud(){ cout<<"~~~"<<endl;}
void disp()
{cout<<"disp"<<endl;}
};
void main ()
{ stud *p;
p=new stud();
(*p).disp();
delete p; //按理说已经释放了p对象,可是接下来还可以引用p why?
stud q;
q.disp();
(*p).disp();
}
这算释放了吗?
2.#include "stdio.h"
#include <iostream.h>;
class stud
{ public:
~stud(){ cout<<"~~~"<<endl;}
void disp()
{cout<<"disp"<<endl;}
};
void main ()
{ {stud p;
p.disp();
}; //p对象貌似在此释放了
stud q;
q.disp();
//p.disp(); 不可引用
}