|
TList를 두개를 생성합니다...
TList *a;
TList *b;
그리고 for문을 돌면서 같은 TXXXObj 객체를 두개의 TList에 담습니다..
for( int i = 0 ; i < 100 ; i++)
{
XXXObj = new TXXXObj;
a->Add(TXXXObj);
b->Add(TXXXObj);
}
그러면 a,b라는 TList객체는
같은 XXXObj를 가르키는 List일껍니다...맞나요??
그뒤에 객체를 삭제한다고 할때
for( int i = 0 ; i < 100 ; i++)
{
XXXObj = (TXXXObj *)a->Items[i];
delete XXXObj;
XXXObj = NULL;
}
delete a;
delete b;
// 위와 같이 하면 a,b에 같은 포인터로 가르키던 XXXObj는 삭제되고,
a,b TList를 죽이므로 모두 깨끗이 지워졌다고 할수 있는건가요???
아님 b에서 또 따로 b->Delete(i); 해주고 delete해줘야 하는건가요????
|