1.因爲使用new建立的內存空間不會被系統自動釋放,所以假如你不去釋放它,那麼該區域的內存將始終不能爲其餘數據所使用,而指向該內存的指針是個局部變量,當定義該指針的函數結束並返回時,指針也消失了,那麼咱們就再也找不到這塊內存區域,一樣的道理,假如指向該內存區域的指針自動消失了,計算機就再也找不到該區域的內存了,就好像丟失了這塊內存同樣,咱們把這種狀況稱爲內存泄漏。這種糟糕的狀況一直持續到程序結束,該區域的內存才能恢復使用。函數
2.假如沒有刪除一個指針就對其進行從新賦值,如:this
int *p=new in;3d
p=new int;指針
就會形成內存泄漏,這是由於,第1行定義了一個指針p並使其指向一塊內存空間,第2行又將一塊新的內存空間的地址賦給了p,這樣第1行所開闢的那塊內存空間就沒法再使用了,由於指向它的指針如今已經指向了第2塊空間。對象
3.this指針:this變量記錄每一個單獨的對象的內存地址,而this指針則指向每一個單獨的對象。所以不一樣的對象輸出的this變量的內存地址也不一樣。默認狀況下,this指針能夠省略不寫,編譯器會自動在成員變量i前面加上this指針,用來表示這個i成員是屬於某個對象的。因爲this指針保存了對象的地址,所以你能夠經過該指針直接讀取某個對象的數據,它的做用就將會在後面的重載運算符中獲得演示,如今咱們只知道this變量保存的是對象的地址,那麼this指針就是指向對象的指針。另外,this指針的建立與刪除是由編譯器來完成的。blog
4.指針的常見錯誤:刪除指針後必定要將該指針設置爲空指針,這是由於刪除該指針只會釋放它所指向的內存空間,不會刪除指針,所以這個指針還在,而且它仍然會指向原來的內存空間,這是若是你再次嘗試使用該指針,那麼將會致使程序出錯。內存