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






배너 신청 문의

 
작성일 : 14-10-02 02:44
[QT/Win32] QList와 QVector의 비교.
 글쓴이 : devilqoo
조회 : 5,936   추천 : 0  
   http://kbdyj.tistory.com/entry/Qt-Generic-Container-%EC%A0%95%EB%A6%AC [1133]
어제 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 201
번호 제   목 글쓴이 날짜 조회 추천
201 [QT/Win32] MFC에서 Qt 사용하기 팁. (2) devilqoo 09-10 1147 0
200 [QT/X11] QML 모델을 C++ 코드로 구현하는 방법 중 하나 (1) 구름님 12-03 3513 0
199 [QT/X11] QWT for qt android (1) 구름님 03-07 5251 1
198 [QT/Win32] QtSingleApplication 이용하기 (1) starbig 01-18 5109 0
197 [QT/Win32] Qt 에서 Daum Maps Api geo [ 주소->좌표 변환 ] 사… starbig 01-15 5639 0
196 [QT/Win32] Qt에서 윈도우 서비스 이용하기, Qt Windows Servic starbig 01-15 4468 0
195 [QT/Embedded] QTcpSocket사용 시 플러그 뽑힘 증상 체크 방법 요원009 11-13 8087 0
194 [QT/Win32] QML 에서 CustomModule 을 import 하여 사용하기 tmdwn 05-18 5127 0
193 [QT/Embedded] Qt update함수/repaint함수 사용법좀 알려주세여.. (1) 잉농 05-14 4869 0
192 [QT/Embedded] C++ Exception을 활용한 런타임 콜스택 정보 얻기 (1) korone 04-01 5217 0
191 [QT/Embedded] Qt 5.4.1 raspberry Pi 프로그램 개발하기 (5) 구름님 03-31 17333 1
190 [QT/Win32] Qt 다국어 처리 (2) korone 03-17 10048 0
189 [QT/Win32] signal to signal devilqoo 02-13 4615 0
188 [QT/Win32] Qt x64 바이너리 제공 사이트 (1) 인라이… 02-12 4520 1
187 [QT/Embedded] 우분투 Qt5 크로스 컴파일 (14/11/26 2차 수정) (9) 김아무… 11-12 12842 0
186 [QT/Embedded] Qt 5.3.2에서 Mouse Double Click시 이벤트 문제 (2) korone 11-11 4687 0
185 [QT/Embedded] QtWinExtras korone 11-11 4605 0
184 [QT/Win32] Qt 코딩 스타일 (편집 편) (4) devilqoo 10-22 8393 0
183 [QT/Win32] Qt와 C++11 (2) devilqoo 10-12 8434 1
182 [QT/Win32] Qt 에서의 이벤트 처리 (5) devilqoo 10-09 8072 0
181 [QT/Win32] QList와 QVector의 비교. (2) devilqoo 10-02 5937 0
180 [QT/Win32] Qt에서 사용되는 컨테이너들을 정리해 보았습… (4) devilqoo 10-01 6729 0
179 [QT/X11] qmake DEFINES 변수에 공백문자가 포함된 값을 설… (1) 별님 09-25 4396 0
178 [QT/Win32] 데이터 압축 관련 qCompress(), qUncompress() (9) 구름님 09-16 4831 0
177 [QT/Win32] QML 로 One-Source Multi-Platform (iOS, Android) 실행 tmdwn 09-03 6259 0
176 [QT/Win32] QML 로 iOS Application 제작하기 tmdwn 09-02 6254 0
175 [QT/Win32] QML 로 Android Application 제작하기 (4) tmdwn 09-02 6592 2
174 [QT/X11] qt에서 메모리 조작하기. (2) 나무나… 07-25 6675 0
173 [QT/Win32] Q_DECLARE_FLAGS 매크로 (2) 구름님 07-11 5438 2
172 [QT/Win32] Q_PROPERTY 매크로 (6) 구름님 07-09 7289 2
 1  2  3  4  5  6  7  


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