C++
[c++] STL vector
코모's
2021. 8. 19. 15:17
반응형
STL의 시퀀스 컨테이너중 하나인 vecotr에 대해 알아보자
Vector
- vector는 동적배열로 구현되어 있다.
- 각각의 원소들이 메모리 상에서 연속적으로 존재한다.
- 원소를 참조할 때 iterator를 이용하여 순차적으로 참조할 수 있다.
- index값으로 바로 참조도 가능하다.
- Heap 메모리를 쓰지만 개발자가 직접 delete해주지 않아도 사용되지 않으면 알아서 메모리를 해제한다.
장점
- 원소들을 임의의 순서로 접근할 수 있다. (선형시간 소요)
- index값으로 바로 참조 할 수 있다.(상수시간 소요)
- vector의 끝(push_back)이나 중간(insert)에 새로운 원소를 추가/제거 할 수 있다.(상수시간 소요)
- 원소에 접근하는것 과 vector의 끝에서 새로운 원소를 삽입/삭제하는것은 deque 나 list에 비해 빠르다.
단점
- 컨테이너 중간에 새로운 원소를 삽입하는것은 deque나 list에 비해 느리다.
- 정적배열 보다 더 많은 메모리 공간을 필요로 한다.
Size & Capacity
반응형