|
TList 는 일반적으로 우리가 알고 있는 linked list 라고 생각하시면 됩니다.
그러나 TList는 배열 형식으로 그의 Entity를 접근할 수 있다는 장접이 있지요.
물의에 대한 답은
Add하는 포인터는 new 로 메모리를 잡아 주신후 add해야 합니다.
또한 TList와 add 된 메모리 포인터는 관계가 없다는것 입니다.
그러므로 new 잡은 데이터들은 다 지워 줘야 합니다.
참고적으로 다음을 적습니다.
TList *bank = new TList;
for(int i=0;i<10;i++){
int *p = new int;
*p = i;
bank->Add(p);
}
for(int i=0;i<bank->Count;i++){
int *p = (int *)bank->Items[i];
delete p;
}
bank->Clear(); // << 이 라인은 없어도 됩니다. 아래에서 delete bank가 해주기 때문에..
delete bank;
초보자 님이 쓰신 글 :
:
: TList에서 제가 만든 클래스를 Add할때요.. 넘기는 클래스 포인터는
:
: new를 하고 넘겨야 할까요; 안하고 넘겨야할까요?
:
: 그리고 생성자함수에 인자가 있을경우는 어떻게 해야하나요?
:
: 마지막으로;;; 삭제할땐.. delete를 따로 해줘야할까요?
:
:
|