C++自动释放临时内存[临时对象的应用]

上一篇 / 下一篇  2011-05-06 14:00:23

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

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

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出来的内存

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

}

TAG:

 

评分:0

我来说两句

日历

« 2024-03-20  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 86508
  • 日志数: 92
  • 文件数: 2
  • 建立时间: 2011-05-03
  • 更新时间: 2017-12-14

RSS订阅

Open Toolbar