正文

C++自动释放临时内存[临时对象的应用]2010-07-23 17:03:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lym51/51528.html

分享到:

在编程过程中经常需要为一个临时指针分配内存,而由于一时的疏附忘记了释放这块内存导致内存泄露。

下面这个类将实现内存自动释放。

class CBufferFree
{
public:
    CBufferFree(LPBYTE& lpBuf):m_lpBufferFree(lpBuf)
    {
    }

    ~CBufferFree()
    {
        if(m_lpBufferFree)
        {
            delete []m_lpBufferFree;
            m_lpBufferFree = NULL;
        }
    }

protected:
    LPBYTE&    m_lpBufferFree;
};

应用:


void test(void)

{

       char* pchar = new char[1000];

       LPBYTE lpByte = (LPBYTE)pchar;

       CBufferFree autoFree(lpByte);

       ////////////////////////////////////////////

       ///  do some thing

       ////////////////////////////////////////////

   


      ////////////////////////////////////////////

      // 当该方法调用结束时,将自动的释放掉new出来的内存

      /////////////////////////////////////////////

}

阅读(4071) | 评论(7)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册