問題的提出:
針對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,為何能夠繼續運行?
對于內存變量的操作,釋放內存空間的真正操作為什么?