理解new和delete還有就是如何防止內存泄露

首先,new的話就是爲對象在內存的堆中開闢一塊內存空間

比如說    int *p = new int(10);就是說從內存中分配一個足夠大的內存來存放int變量。

                delete p  釋放內存


關於內存泄露方面的問題

1、  在使用new和delete的時候要配對

2、  使用malloc後要free

3、  可以定義一個全局的list,進行內存分配的時候插入,釋放時刪除

4、  使用智能指針auto_ptr 

        原來定義指針爲   int *p=new int(10); .................delete p;

       而是用auto_ptr智能指針的話只需要    auto_ptr p(new int(10));不需要進行手動釋放內存

5、還有就是關於Boost,它針對auto_ptr很多不足方面進行補充。本人暫時還沒學習這方面的知識。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章