#include"iostream.h"
void main()
{
int b=1000;
int *p=new int;
p=&b;
delete p;
}
指针p最后指向了变量,而变量的内存空间是由系统自动回收的,故而delete p;会引起运行错误
另外对于new和delete,用new分配的由指针p指向的内存空间,当指针p不再指向时便要delete掉,故以上程序可改为:
#include"iostream.h"
void main()
{
int b=1000;
int *p=new int;
delete p;
p=&b;
}