2013-05-14 1 views
4

Qt 프로젝트에서 여러 줄 코드를 사용하여 1 초마다 Qvector에 추가합니다. STL deque에서 deque가 벡터에 새로운 요소를 추가 할 때 더 나은 성능을 보일 수 있다는 것을 알게되었습니다. 동일하거나 유사한 Qt 방식은 무엇입니까? Qt 라이브러리에서 아무 것도 찾지 못하기 때문입니다.Qt의 std :: deque는 무엇입니까?

훌리오는

답변

4

QT에서 std::deque 클래스에 직접 해당되지 않습니다.

그러나 가장 좋은 방법은 QList입니다. 여기

이 문서는 QT 컨테이너 클래스에 대해 말씀입니다 :

대부분의 경우, QList는 사용할 수있는 권리 클래스입니다. 인덱스 기반 API는 QLinkedList의 반복기 기반 API보다 편리하며 일반적으로 항목을 메모리에 저장하는 방식 때문에 QVector보다 빠릅니다. 또한 실행 파일에서 적은 코드로 확장됩니다.

어쨌든 1 초에 한 번만 항목을 추가하면 다른 항목을 선택하는 데 별다른 영향을주지 않습니다.

+0

오른쪽 ... 설명서를 확인한 후에 QList를 사용하기로 결정했습니다. 감사! – colddie

1

모든 표준 컨테이너에 대해 Qt를 사용할 필요가 없으며, 이후에 std :: deque를 사용할 수 있습니다. 둘 다 std::vectorQVector이 멤버 함수는 이름이 벡터의 끝에 삽입을 많이 할 때

어쨌든이 사건에 대한 점에 유의 하는 데 사용할 수있는 예비 (링크 참조) 사전은-할당하는 더 큰 버퍼와 끝에 삽입을 빠르게합니다.