반응형
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 |