首先,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很多不足方面進行補充。本人暫時還沒學習這方面的知識。