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; }