Vector는 대표적인 시퀀스 컨테이너.
- 임의 접근 반복자를 지원하는 배열 기반 컨테이너.
- 원소가 하나의 메모리 블록에 연속으로 저장되는 형태.
- 그러므로 원소를 추가하거나 삽입될 때, 메모리의 재할당이 발생할 수 있어서 비효율적일 수 있다.
- 하지만 미리 구현된 메소드로 인해 사용하는 데 편하다.
- 원소가 연속으로 저장되므로 [] 연산자 또는 at으로 읽기는 빠르지만 insert(), erase(), push_back() 등은 비효율적으로 동작한다.
생성자 |
|
vector v |
v는 빈 컨테이너. |
vector v(n) |
v는 기본값으로 초기화된 n개의 원소를 갖는다. |
vector v(n, x) |
v는 x값으로 초기화된 n개의 원소를 갖는다. |
vector v(v2) |
v는 v2 컨테이너의 복사본이다. (복사 생성자 호출) |
vector v(b, e) |
v는 반복자 구간 [b, e)로 초기화된 원소를 |
멤버함수 |
|
v.assign(n, x) |
v에 x값으로 n개의 원소를 할당한다. |
v.assign(b, e) |
v를 반복자 구간 [b, e)로 할당한다. |
v.at(i) |
v의 i번째 원소를 참조한다. |
v.back() |
v의 마지막 원소를 참조한다. |
p = v.begin() |
p는 v의 첫 원소를 가리키는 반복자. |
x = v.capacity() |
x는 v에 할당된 공간의 크기. |
v.clear() |
v의 모든 원소를 제거한다. |
v.empty() |
v가 비었는 지 확인한다. |
p = v.end() |
p는 v의 끝을 표식하는 반복자. |
p = v.erase(b, e) |
반복자 구간[b, e)의 모든 원소를 제거한다. q는 다음 원소. |
v.front() |
v의 첫 번째 원소를 참조한다. |
q = v.insert(p, x) |
p가 가리키는 위치에 x 값을 삽입한다. q는 삽입한 원소를 가리키는 반복자. |
v.insert(p, n, x) |
p가 가리키는 위치에 n개의 x값을 삽입한다. |
v.insert(p, b, e) |
p가 가리키는 위치에 반복자 구간 [b, e)의 원소를 삽입한다. |
x = v.max_size() |
x는 v가 담을 수 있는 최대 원소의 개수(메모리의 크기) |
v.pop_back() |
v의 마지막 원소를 제거한다. |
v.push_back() |
v의 끝에 x를 추가한다. |
p = v.rbegin() |
p는 v의 역 순차열의 첫 원소를 가리키는 반복자. |
p = v.rend() |
p는 v의 역 순차열의 끝을 표식하는 반복자. |
v.reserve(n) |
n개의 원소를 저장할 공간을 예약한다. |
v.resize(n) |
v의 크기를 n으로 변경하고 확장되는 공간의 값을 기본값으로 초기화 한다. |
v.resize(n, x) |
v의 크기를 n으로 변경하고 확장되는 공간의 값을 x 값으로 초기화한다. |
v.size() |
v의 원소 갯수 |
v.swap(v2) |
v와 v2를 swap한다. |
출처 : http://hyeonstorage.tistory.com/324
'프로그래밍' 카테고리의 다른 글
[C++ 정복하자] 클래스의 기본 (0) | 2017.05.20 |
---|---|
[c++ 정복하자] 목차 (0) | 2017.05.13 |
STL vector sort(벡터 정렬) (2) (0) | 2017.04.08 |
STL vector sort(벡터 정렬) (1) (1) | 2017.04.08 |
STL Vector정리(1) (0) | 2017.04.08 |
댓글