一个类,需要复制,但是在复制函数里因为有new的存在,使得进程内存一直增大,不知道怎么delete这个东西?
void CTrack::copyctrack(CTrack* source_track)
{
Num_Point3DObject = source_track->Num_Point3DObject;
Distance = source_track->Distance;
ptrTrack = new CTrackNode;
ptrTrack->ptrNext = NULL;
CTrackNode* ptr1 = ptrTrack;
CTrackNode* ptr2 = source_track->ptrTrack;
while (ptr2->ptrNext != NULL)
{
ptr1->Point = ptr2->Point;
ptr1->ptrNext = new CTrackNode();//感觉就是这块new的内存没有删除,所以内存一直增加
ptr1 = ptr1->ptrNext;
ptr1->ptrNext = NULL;
ptr2 = ptr2->ptrNext;
}
ptr1->Point.CopyCPoint3D(global_Mission.Terminal);
ptr1->ptrNext = NULL;
}