2012-07-27 5 views
0

가능한 중복 :
Using arrays or std::vectors in C++, what's the performance gap?C++은 배열 포인터와 벡터를 사용합니까?

난 그냥 싶어가 더 빨리 그들의 알 적은 리소스를 사용? 나는 벡터가 더 안정적이고 안전하다고 생각하지만 배열에 대한 포인터는 더 빠르다. 나는 배열의 크기를 재조정 (새로운 요소를 추가하기 위해 1 씩 증가 시키거나 요소를 제거)하고 싶다. 벡터는 포인터가 나를 필요로하는 동안 그 기능을 가지고 있습니다.

어느 것을 골라야할지 모르겠다. 나에게 뭐라고 조언 해? 감사!

+12

가'' "나는 배열 크기 다시 싶다"- 이야기의'vector' ... 끝 부분을 사용합니다. – Mysticial

+1

Alwyes는 "재사용 가능"배열을 원한다면 벡터를 사용합니다. 그것은 일반적인 문제에 대한 최선의 구현이며, 작업을 다시하지 마십시오! – Mithrandir

+3

모든 질문에 해당하는 답변은 다음과 같습니다. 깨끗한 간단한 코드를 먼저 작성한 다음 작업을 마친 후 충분히 빠르는지 확인하십시오. 그렇지 않은 경우, 코드의 어떤 부분이 성능 문제점을 일으키는 지 (프로파일 링을 통해) 결정하고 해당 부분의 성능을 향상 시키십시오. 'vector'로 시작하지만 나중에 그렇게 할 필요가 있다고 결정할 경우 다른 임의 접근 순서로 쉽게 바꿀 수있는 방식으로 프로그램을 디자인하십시오. –

답변

7

C++ 표준 라이브러리는 필요한 기능을 제공하면서 최대한 빨리 구현되도록 최적화되어 있으므로 구현할 필요가 없습니다. 시간을 절약하고 걱정하지 말고 그냥 벡터를 사용하십시오. 속도에 불일치가있는 경우

그들은 큰 그림에 negiligble 될 것입니다 :)