커뮤니티 | 큐티/임베디드/큐토피아 | PODO | SDL | 마이크로윈도우 | 리눅스프로그래밍 | 기타 | 포인트순위 | 최근게시물최근게시물 RSS  
korone.net에 다루었으면 하는것은요?
 
 
 
 
 
391
882
3,878
3,960,925
  현재접속자 : 88 (회원 0)






배너 신청 문의

 
작성일 : 14-10-02 02:44
[QT/Win32] QList와 QVector의 비교.
 글쓴이 : devilqoo
조회 : 6,988   추천 : 0  
   http://kbdyj.tistory.com/entry/Qt-Generic-Container-%EC%A0%95%EB%A6%AC [1374]
어제 Generic Container를 정리하면서 QList<T>와 QVector<T>의 정확한 차이점이 궁금해서

Qt 소스를 분석하였습니다.

이제 명확히 정리가 되었네요.

QVector<T>와 같은 컨테이너를 사용하다 보면 언젠가 데이터가 꽉차서 부족하게 되는 순간이 오는 데 이때 내부적으로 2배씩 메모리를 늘려가게 됩니다.

여기서 QList<T>와 QVector<T>의 차이점이 나타나게 되는 데 QList<T>는 기존의 데이터를 새로할당 된 메모리의 대략 중간 지점에 위치하도록 이동 시킵니다.
QVector<T>는 메모리가 늘어나도 기존 데이터들이 메모리의 처음으로 위치하는데 이 부분이 QList<T>와 다르죠.

문제는 QVector<T>의 push_front(), prepend()를 써서 앞에서 데이터를 넣으려고 할 때 기존 데이터들이 무조건 한칸씩 뒤로 밀려서 복사가 된다는 점입니다. (성능이 아주 안좋죠.)

QList<T>의 경우 중간 지점에 위치하도록 했기 때문에 앞으로 데이터를 넣든 뒤로 넣든 크게 문제가 없습니다.

참고가 되셨으면 합니다.
Qt !!!



devilqoo 14-10-02 08:34
 
QList<T>는 stl에서 deque<T>에 해당하는 것 같네요.
stl 쓸 때 주구장창 vector, list, map 정도만 썼더니 ... 지식의 한계가;
구름님 14-10-10 09:37
 
고생하셨습니다~ 'devilqoo'님 ^^
 
 

Total 221
번호 제   목 글쓴이 날짜 조회 추천
221 rebel 흔히 사람들은 기회를 기다리고 있지만 … wyltqme425 02:07 0 0
220 자신이 해야 할 일을 결정하는 사람은 세상에… rqyuspv875 10-21 5 0
219 산다는것 그것은 치열한 전투이다. -로망로랑… rqyuspv875 10-21 3 0
218 인간의 삶 전체는 단지 한 순간에 불과하다 . … rqyuspv875 10-21 3 0
217 source 삶이 그대를 속일지라도 슬퍼하거나 노… rqyuspv875 10-21 3 0
216 내일은 내일의 태양이 뜬다 피할수 없으면 즐… wyltqme425 10-20 9 0
215 인생이란 학교에는 불행 이란 훌륭한 스승이 … wyltqme425 10-20 6 0
214 최고에 도달하려면 최저에서 시작하라.-P.시… wyltqme425 10-20 2 0
213 해야 할 것을 하라. 모든 것은 타인의 행복을 … wyltqme425 10-20 3 0
212 평생 살 것처럼 꿈을 꾸어라.그리고 내일 죽… wyltqme425 10-20 10 0
211 이룰수 없는 꿈을 꾸고 이길수 없는 적과 싸… wyltqme425 10-20 7 0
210 만약 우리가 할 수 있는 일을 모두 한다면 우… wyltqme425 10-20 17 0
209 꿈을 계속 간직하고 있으면 반드시 실현할 때… wyltqme425 10-20 7 0
208 사막이 아름다운 것은 어딘가에 샘이 숨겨져 … wyltqme425 10-20 4 0
207 자신의 본성이 어떤것이든 그에 충실하라 . … wyltqme425 10-20 3 0
206 아래에 비교하면 남음이 있다.-명심보감[쇼미… wyltqme425 10-20 7 0
205 nephew 삶이 있는 한 희망은 있다 -키케로유혜… wyltqme425 10-20 7 0
204 고통이 남기고 간 뒤를 보라! 고난이 지나면 … rqyuspv875 10-20 7 0
203 진짜 문제는 사람들의 마음이다.그것은 절대… rqyuspv875 10-20 9 0
202 지금이야 말로 일할때다. 지금이야말로 싸울… rqyuspv875 10-20 6 0
201 도저히 손댈 수가 없는 곤란에 부딪혔다면 과… rqyuspv875 10-20 19 0
200 우선 무엇이 되고자 하는가를 자신에게 말하… rqyuspv875 10-20 9 0
199 longer 자신감 있는 표정을 지으면 자신감이 생… rqyuspv875 10-20 3 0
198 [QT/Win32] MFC에서 Qt 사용하기 팁. (3) devilqoo 09-10 3059 0
197 [QT/X11] QML 모델을 C++ 코드로 구현하는 방법 중 하나 (1) 구름님 12-03 4758 0
196 [QT/X11] QWT for qt android (1) 구름님 03-07 6312 1
195 [QT/Embedded] QTcpSocket사용 시 플러그 뽑힘 증상 체크 방법 요원009 11-13 10251 0
194 [QT/Win32] QML 에서 CustomModule 을 import 하여 사용하기 tmdwn 05-18 5872 0
193 [QT/Embedded] Qt update함수/repaint함수 사용법좀 알려주세여.. (1) 잉농 05-14 5739 0
192 [QT/Embedded] C++ Exception을 활용한 런타임 콜스택 정보 얻기 (1) korone 04-01 6070 0
 1  2  3  4  5  6  7  8  


About korone.net | Copyright 2003 korone.net. All rights reserved.