Q&A

  • [질문] TObjectList 와 TList 차이는 ...?
지금까지는 TList 를 이용해서 객체를 넣고 잘 써왔는데
어떤 코드를보다 보니 TObjectList 가 있더군요.
TList 를 상속 받아서 쓰는 것이던데
기능적인 강점이 있을 것 같은데
Pointer 를 기반으로 하는 TList 보다는 TObject 를 기반으로 하는 것이던데
두가지의 차이가 무엇인지요 ?

어느 경우에 TObjectList 를 쓰는 것이 강점이 될 수 있는지 궁금합니다.
2  COMMENTS
  • Profile
    장성호 2009.11.13 10:19
    TList는 그냥 void * 를 받습니다.
    TOBjectList는 TObject 를 상속받은 놈을 받구요..

    문론 TObjectList에도 void *등을 넣을수도 있습니다.



    TObjectList는 TList를 상속받아 만든것인데요..

    핵심적으로 한가지 다른것은

    TList는 list에 담긴것을 delete하거나 clear할때 ...
    list에 담긴 객체를 free해주지 않습니다.

    lsit에것을 직접 하나씩 free해줘야 합니다.

    하지만 TObjectList는 item을 그냥 delete하면 알아서 free해주는것입니다.
    Clear()해도 마찬가지구요


    list에 왕창 담아 뒀다가 한번에 free하면서 clear할때 편리하게 쓰일수 있겠죠?

    TObjectList라도 OwnsObjects 프로퍼티를 false로 해주면 clear해도
    list에 담긴 내용만 clear하지 담겨있는 객체를 free하지는 않습니다.
    그럼 거의 TList와 비슷하게 되죠


    그럼..



  • Profile
    이은주 2009.11.13 11:53
    이해가 쉽게 설명해 주셔서 감사합니다.
    결국 객체를 사용해서 작업할 때는 TObjectList 가 편리한 점이 많군요.