case DSTRING:
{
if(0!= pItem->Value()->Valid())
{
DDataString *pBuf = dynamic_cast<DDataString*>(&*pItem->Value());
if (pBuf != NULL)
{
int bufLength = pBuf->Length();
const char* pContents = pBuf->Contents();
unsigned char * pAofString = new unsigned char[bufLength];
pAofItem->value.pString = pAofString; memcpy(pAofString,pContents, sizeof(int)*bufLength);
pAofItem->length = bufLength;
pAofItem->bValid = true;
}
}
}
break;
软件跑个2天内存会增加很多,这段code将会不断的被调用,但是并没有delete的地方.我想问问是不是这段是不是会引起内存泄露?
{
if(0!= pItem->Value()->Valid())
{
DDataString *pBuf = dynamic_cast<DDataString*>(&*pItem->Value());
if (pBuf != NULL)
{
int bufLength = pBuf->Length();
const char* pContents = pBuf->Contents();
unsigned char * pAofString = new unsigned char[bufLength];
pAofItem->value.pString = pAofString; memcpy(pAofString,pContents, sizeof(int)*bufLength);
pAofItem->length = bufLength;
pAofItem->bValid = true;
}
}
}
break;
软件跑个2天内存会增加很多,这段code将会不断的被调用,但是并没有delete的地方.我想问问是不是这段是不是会引起内存泄露?
delete pAofString;
pAofString = FULL;