array와 비슷한 순차컨테이너로 순차열에 원소를 추가하거나 삭제할 수 있다. 할당된 용량을 초과한다면 추가공간이 자동으로 할당된다.
vector<T>
T -> 원소의 타입
|
멤버 함수 | |
|
begin |
시작 반복자를 반환 |
|
end |
끝 반복자를 반환 |
|
rbegin |
역방향 시작 반복자를 반환 |
|
rend |
역방향 끝 반복자를 반환 |
|
cbegin |
const 시작 반복자를 반환 |
|
cend |
const 킅 반복자를 반환 |
|
crbegin |
const 역방향 시작 반복자를 반환 |
|
crend |
const 역방향 끝 반복자를 반환 |
|
assign |
내용을 새 원소들로 대체한다. |
|
operator= |
원소들을 타입이 같은 다른 컨테이너의 원소들이나 초기화 리스트로 대체 |
|
size |
원소들의 실제 개수 반환 |
|
max_size |
원소들의 최대 개수 반환 |
|
capacity |
메모리에 할당된 원소들의 개수 반환 |
|
empty |
원소가 없으면 true 반환 |
|
resize |
원소들의 실제 개수 변경 |
| shrink_to_fit |
원소들의 실제 개수에 필요한 메모리를 줄임 |
| front |
첫 번째 원소 참조반환 |
| back |
마지막 원소 참조반환 |
|
operator[] |
원소를 인덱스로 접근 |
| at |
원소를 인덱스로 접근(경계검사) |
| push_back | 순차열의 끝에 원소를 추가 |
| insert |
지정된 위치에 원소 하나 또는 원소들을 추가 |
|
emplace |
지정된 위치에 내부에서 원소를 생성해 추가 |
|
emplace_back |
순차열 끝에 내부에서 원소를 생성해 추가 |
|
pop_back |
순차열 끝의 원소를 제거 |
| erase | 원소 하나 혹은 범위로 지정된 원소 제거 |
| clear |
모든 원소를 제거하고 size를 0으로 변환 |
|
swap |
두 컨테이너의 모든 원소를 교환 |
|
data |
원소들을 담고 있는 내부 배열에 대한 포인터 반환 |
* 경계검사 : 인수의 범위를 벗어난 인덱스 값을 확인하고 벗어난 값이면 std::out_of_range 예외를 발생한다.
* insert, emplace : insert의 경우 원소를 삽입하기위해 임시로 객체를 생성하지만 emplace의 경우 임시로 객체를 생성하지 않는다.
* capacity, size : 메모리를 추가 할당하지 않아도 저장할 수 있는 원소의 개수이고 size는 실제로 갖고 잇는 원소의 개수로 크기가 용량까지 다 찼을 경우 새롭게 원소를 추가하면 용량도 일정량 더 늘어나게 된다. 벡터에 추가되는 용량으로 인해 순차열의 끝에서 추가나 삭제를 하는경우가 더 효율적이다.
'공부 > C++(STL)' 카테고리의 다른 글
| list 컨테이너 (0) | 2018.04.02 |
|---|---|
| deque 컨테이너 (0) | 2018.03.30 |
| array 컨테이너 (0) | 2018.03.23 |
| 람다 식(익명함수) (0) | 2018.03.01 |
| 스마트 포인터 (0) | 2018.02.23 |
