1 / 4
文档名称:

C 内存释放.doc

格式:doc   大小:15KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C 内存释放.doc

上传人:wz_198614 2017/10/31 文件大小:15 KB

下载得到文件列表

C 内存释放.doc

相关文档

文档介绍

文档介绍:C++内存释放
: __delete (template)
方法描述:以传入的指针类型,去释放传入的list所包含的所有item.
传入的类型必须是指针类型,且不能是void*.如果list为空不会出错
template <class T>void __delete(TList* list)
{
if(list == NULL)
{
return;
}
for(int i=0; i<list->Count; i++)
{
delete (T)list->Items[i];
}
list->Clear();
}
: DeleteStruct
方法描述:释放结构体所占内存;
参数:T* tStruct 说明:需要释放的结构体指针
template <class T>void DeleteStruct(T* tStruct)
{
if(NULL != tStruct)
{
delete tStruct;
tStruct = NULL;
}
}
3. 方法名称: FreeLVData
方法描述:释放ListView及其所占内存;
参数:TListView * ListView 说明:需要释放的listview指针
template <class T>void FreeLVData(TListView * ListView)
{
for(int i = 0; i < ListView->Items->Count; i++)
{
delete(T)ListView->Items->Item[i]->Data;
}
ListView->Items->Clear();
}
4. 方法名称: FreeNodeDataMemory
方法描述:释放TreeNode及其所占内存;
参数:TTreeNode *paraNode 说明:需要释放的TreeNode指针
template <class T>void FreeNodeDataMemory(TTreeNode *paraNode)
{
T *tempStruct;
TTreeNode *tempNode;
if(false==paraNode->HasChildren)
{
return;
}
for(int i=0; i < paraNode->Count; i++)
{
tempNode=paraNode->Item[i];
if(NULL != tempNode)
{
tempStruct = (T *)tempNode->Data;
delete tempStruct;
tempStruct=NULL;
}
}