理解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很多不足方面进行补充。本人暂时还没学习这方面的知识。


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