C++需要释放资源的操作

1、通过CBitmap* m_Bitmap = CBitmap::FromHandle(hBitmap)返回获取的CBitmap*对象,实际上是 CBitmap::FromHandle(hBitmap)在内存中New了一个CBitmap*对象,所以必须在相应的地方释放内存,否则会有内存泄露。

释放内存方法:

if(m_Bitmap .m_hObject!=NULL)

m_Bitmap .DeleteObject();

 

2、在查找硬盘文件后,要关闭被查找的文件是获得的句柄,否则该文件所在文件夹将不能被访问。

API:
 WIN32_FIND_DATA lpFindFileData;
Handle hFindFile = ::FindFirstFile(lpFileName, &lpFindFileData);

用完后一定要关闭句柄:FindClose(hFindFile);

MFC:

CFileFind finder;
 BOOL working = finder.FindFile(path + _T("\\*.PNG"));

用完后一定要关闭:finder.Close();

你可能感兴趣的:(C++需要释放资源的操作)