问题的提出:
针对C++的delete运算符的用法,运行下例程序段:
int e=3;
int *p= new int(e);
cout<<p<<" "<<*p<<endl;
delete p;
cout<<p<<" "<<*p<<endl;
p=&e;
cout<<p<<" "<<*p<<endl; Output:
0x4a2480 3
0x4a2480 0
0x22ff74 3
为何p在释放后还有其地址存在,且其指向变为初始值?
用char型变量测试,如同,只是改成了初始值""
对于后面的p=&e,为何能够继续运行?
对于内存变量的操作,释放内存空间的真正操作为什么?