读书人

这代码内存储器会不会没有释放

发布时间: 2013-03-12 11:19:35 作者: rapoo

这代码内存会不会没有释放


{
OpenClipboard(NULL);
HANDLE hData=GetClipboardData(CF_TEXT);
p=(char*)GlobalLock(hData);
GlobalUnlock(hData);
CloseClipboard();
}

离开这个函数体侯p仍然有效,即使复制别的内容,p所指内存仍然放着数据,会内存泄露吧,用完p后如何释放?
是不是delete[] p; 原理是GlobalLock时存有一个长度count?
[解决办法]
很明显你的p是在这段代码体之外定义的,在代码体内的操作,会改变p的指向,但是p没有释放,所以仍然是有效的啊

读书人网 >C++

热点推荐