new 和 delete
问题一:
请问一下,new 与 delete 为相互匹配使用,这里有一段代码
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int n(200);
int* p=new int(100);
double* q=new double(11.1);
cout<<p<<" "<<*p<<endl;
cout<<q<<" "<<*q<<endl;
delete p; p=NULL; //这里用p=NULL,是为了初始化指针
delete q; q=NULL;
cout<<"after delete"<<endl;
cout<<p<<endl; //这里的 p ,q 就为已经初始化了的值
cout<<q<<endl;
return 0;
}
请问一下,我这里的p,q 是所指向的空间释放了,还是怎么理解?
在我不写 delete ,一样的申请了空间之后,我将 p=NULL,不是
一样可以初始化所用的指针么。
如果说 我所申请的空间是释放了,那么我不 delete ,只用将 p=NULL,不是也行么。
换句话说,这里的 指针p ,与释放了空间 delete p, 与将 p=NULL 这三者的关系是怎样的啊
请说说,谢谢了!