在编程过程中经常需要为一个临时指针分配内存,而由于一时的疏附忘记了释放这块内存导致内存泄露。 下面这个类将实现内存自动释放。 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出来的内存 ///////////////////////////////////////////// }

评论