본문 바로가기
C++

[c++] STL vector

by 코모's 2021. 8. 19.
반응형

STL의 시퀀스 컨테이너중 하나인 vecotr에 대해 알아보자

 

Vector

  • vector는 동적배열로 구현되어 있다.
  • 각각의 원소들이 메모리 상에서 연속적으로 존재한다.
  • 원소를 참조할 때 iterator를 이용하여 순차적으로 참조할 수 있다.
  • index값으로 바로 참조도 가능하다.
  • Heap 메모리를 쓰지만 개발자가 직접 delete해주지 않아도 사용되지 않으면 알아서 메모리를 해제한다.

 

장점

  • 원소들을 임의의 순서로 접근할 수 있다. (선형시간 소요)
  • index값으로 바로 참조 할 수 있다.(상수시간 소요)
  • vector의 끝(push_back)이나 중간(insert)에 새로운 원소를 추가/제거 할 수 있다.(상수시간 소요)
  • 원소에 접근하는것 과 vector의 끝에서 새로운 원소를 삽입/삭제하는것은 deque 나 list에 비해 빠르다.

 

단점

  • 컨테이너 중간에 새로운 원소를 삽입하는것은 deque나 list에 비해 느리다.
  • 정적배열 보다 더 많은 메모리 공간을 필요로 한다.


Size & Capacity

 

 

반응형

'C++' 카테고리의 다른 글

[c++] STL Algorithm  (0) 2021.08.18
[c++] STL Iterator의 종류  (0) 2021.08.18
[c++] STL Container의 종류  (0) 2021.08.18
[c++] STL 이란?  (0) 2021.08.18
[c++] 스택(Stack)과 힙(Heap)  (0) 2021.08.16