Vector 컨테이너
대표적인 시퀀스 컨테이너이자 배열 기반 컨테이너
Vector의 주요 인터페이스
템플릿 형식 | |
template <class T, class _Alloc = allocator<T> > class vector |
T는 vector 컨테이너 원소의 형식 |
생성자
생성자 | |
vector v | v는 빈 컨테이너 |
vector v(n) | 0원소 n개로 초기화된 컨테이너 |
vector v(n, x) | x원소 n개로 초기화된 컨테이너 |
vector v(v2) | v는 v2 컨테이너의 복사본 (복사 생성자 호출) |
vector v(b,2) | 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의 모든 원소를 제거한다. capacity는 그대로 |
v.empty() | v가 비어있는지 확인 |
p=v.end() | p는 v의 끝을 표시하는 반복자 |
q=v.erase(p) | v의 p가 가리키는 원소를 제거하고 q에는 다음 원소를 넣는다. |
q=v.erase(b,e) | v의 반복자 b부터 e 까지의 시퀀스 구간을 제거하고 q에 다음 원소를 넣는다. |
v.front() | v의 첫번째 원소를 참조한다. |
q=v.insert(p,x) | v에 p가 가리키는 위치에 x를 삽입한다. q는 삽입한 원소를 가리키는 반복자. |
v.insert(p,n,x) | v에 p가 가리키는 위치에 x를 n개 삽입한다. |
v.insert(p,b,e) | v에 p가 가리키는 위치에 반복자 b부터 e까지의 시퀀스 구간원소를 삽입한다. |
x=v.max_size() | x는 v가 담을 수 있는 최대 원소의 개수다.(메모리 크기) |
v.pop_back() | v에 마지막 원소를 제거한다. |
v.push_back(x) | v에 x를 가장 뒤에 삽입한다. |
p=v.rbegin() | p는 v의 역 순차열의 첫번째 원소를 가리키는 반복자(reverse begin의 줄임말로 end()와 같다) |
p=v.rend() | p는 v의 역 순차열의 마지막 원소를 가리키는 반복자(reverse end의 줄임말로 begin()와 같다) |
v.reserve(n) | n개의 원소를 저장할 공간을 예약한다. (capacity의 크기를 예약) |
v.resize(n) | v를 n의 크기로 변경하고 확장되는 공간의 값을 기본값(0)으로 초기화한다. (작아지면 삭제됨) |
v.resize(n, x) | v를 n의 크기로 변경하고 확장되는 공간의 값을 x값으로 초기화한다. (작아지면 삭제됨) |
v.size( ) | 원소의 갯수 |
v.swap(v2) | v와 v2를 swap한다. |
연산자
연산자 | |
v1 == v2 | v1과 v2의 모든 원소가 같은가 (bool 형식) |
v1 != v2 | v1과 v2의 모든 원소 중 하나라도 다른 원소가 있는가? (bool 형식) |
v1 < v2 | v2가 v1보다 하나라도 큰 원소가 있는가? (bool 형식) |
v1 <= v2 | v2가 v1보다 하나라도 같거나 큰 원소가 있는가? (bool 형식) |
v1 > v2 | v1이 v2보다 하나라도 큰 원소가 있는가? (bool 형식) |
v1 >= v2 | v1이 v2보다 하나라도 같거나 큰 원소가 있는가? (bool 형식) |
v[i] | v의 i번째 원소를 참조한다. (const와 비 const 버전이 있으며 범위 점검이 없음) |
멤버형식
멤버형식 | |
allocator_type | 메모리 관리자 형식 |
const_iterator | const 반복자 형식 |
const_pointer | const value_type *형식 |
const_reference | const value_type& 형식 |
const_reverse_iterator | const 역 반복자 형식 |
difference_type | 두 반복자 차이의 형식 |
iterator | 반복자 형식 |
pointer | value_type* 형식 |
reference | value_type& 형식 |
reverse_iterator | 역 반복자 형식 |
size_type | 첨자(index)나 원소의 개수 등의 형식 |
value_type | 원소의 형식 |
'C++ > STL' 카테고리의 다른 글
[STL] list 컨테이너 (0) | 2025.03.16 |
---|---|
[STL] Deque 컨테이너 (0) | 2025.03.15 |
[STL] 5장 문제풀이 (0) | 2025.03.08 |
[STL] 할당기 (0) | 2025.03.03 |
[STL] 어댑터2 (0) | 2025.03.03 |