指向曾經存在的對象,但該對象已經不再存在了,此類指針稱為懸垂指針。結果未定義,往往導致程式錯誤,而且難以檢測。
基本介紹
例子,避免方法,
例子
#include <iostream>#include <windows.h>using namespace std;int *p = NULL;void fun(){ int i = 10; p = &i;}void main(){ fun(); cout << "*p = " << *p << endl; Sleep(1000); cout << "一秒鐘後,fun()中的i變數的存儲空間被釋放, p所指對象的值為:" << endl << "*p = " << *p << endl; system("pause");}//輸出為://*p = 10//一秒鐘後,fun()中的i變數的存儲空間被釋放, p所指對象的值為://*p = 1245056//Press any key to continue
可見,fun()運行完一秒鐘後,p成為懸垂指針。