void MyMethod1()
{
using namespace std;
int a=6;
int b=6;
int* pa=new int;
int* pb=new int;
*pa=a;
pb=pa;
cout<<"pa的內容賦值為:"<<a<<endl;
delete(pa);
//free(pa);//加上這句造成pa不可用,
//cout<<"free(pa);之后試試能不能讀取pa:"<<pa<<endl;//實驗證明會掛掉程序
//cout<<"free(pa);之后試試能不能讀取a:"<<a<<endl;//實驗證明會掛掉程序
cout<<"pa的內容:"<<*pa<<endl;
cout<<"pa的地址:"<<pa<<endl;
cout<<"pb的內容:"<<*pb<<endl;
cout<<"pb的地址:"<<pb<<endl;
*pb=b;
cout<<"pb的內容賦值為:"<<b<<endl;
cout<<endl;
cout<<"pa的內容:"<<*pa<<endl;
cout<<"pa的地址:"<<pa<<endl;
cout<<"pb的內容:"<<*pb<<endl;
cout<<"pb的地址:"<<pb<<endl;
Sleep(1000);//蛋疼的我測試下休眠函數
}
/*
delete 是把一段內存標記為可用(沒被占用)
free 會釋放這段內存(清空)
free之后內存不能訪問,因為沒有內容
delete 之后還能訪問,但是不能確定內容
*/
int main(int argc, char* argv[])
{
MyMethod1();
return 0;
}