C++Builder
|
Delphi
|
FireMonkey
|
C/C++
|
Free Pascal
|
Firebird
경고!
게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
C++빌더 Q&A
C++Builder Programming Q&A
[20057]
Re:TList는 자동으로 메모리를 해제할 수 없습니다. 속도도 더 느리고...
김백일
[
cedar
]
1895 읽음
2002-07-12
15:00
VCL의 TList와 STL의 list, vector, deque과는 설계 철학부터가 다릅니다.
TList의 사용시에 주의할 점에 대해서는
빌더 헬프에도 있고, Tip'N Tricks와 FAQ에 각각 올라와 있습니다.
임프님의 글:
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=14
길랄라님의 글:
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_faq&no=18
정리하면, TList는 보이드 포인터(void*) 값만을 저장하는 배열과 유사한 자료구조입니다.
그래서 객체를 삽입할 때는 매번 new로 동적 할당을 해서 삽입하고,
객체를 삭제하기 전에는 미리 delete로 메모리를 해제해야 합니다.
delete로 객체를 해제하지 않고, TList 객체 자체가 삭제(스코프에서 벗어난다든지 해서)되면
그대로 TList 안에 객체들의 크기의 합 만큼 메모리 누수가 일어납니다!
Trackback :
http://cbuilder.borlandforum.com/impboard/impboard.dll/trackback?sn=37064
+
-
관련 글 리스트
20035
TList에서 AnsiString을 타입캐스팅 해서 void*넣었을때...
심윤수
1112
2002/07/11
20037
Re:TList에서 AnsiString을 타입캐스팅 해서 void*넣었을때...
양정석
1613
2002/07/11
20061
AnsiString만 저장한다고 하면, TStringList를 쓰세요.
김백일
1823
2002/07/12
20038
TList 대신 std::list를 쓰실 것을 권합니다.
김백일
2828
2002/07/11
20044
TList도 자동으로 메모리를 해제할 수 있습니다. 속도도 더 빠르고... (냉무)
박정모
1436
2002/07/12
20057
Re:TList는 자동으로 메모리를 해제할 수 없습니다. 속도도 더 느리고...
김백일
1895
2002/07/12
20058
험... 별로 할 말이 없습니다. 그럼 그렇게 알고 계속 쓰십시요. (냉무)
박정모
1169
2002/07/12
20060
'그렇게만' 알고 계시지 말고, STL을 한 번 써보세요.
김백일
1606
2002/07/12
제목
내용
이름
Copyright © 1999-2015, borlandforum.com. All right reserved.