[STL] Vector 컨테이너

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