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 |