vector 컨테이너
c++ 표준 라이브러리(Standard Template Library)에 있는 컨테이너로 사용자가 사용하기 편하게 정의된 class이며, vector를 생성하면 메모리 heap영역에 자동으로 메모리가 동적할당되는 배열
vector의 생성자
vector<int> v;
- 비어있는 vector v를 생성합니다.
vector<int> v(5);
- 기본값(0)으로 초기화된 5개의 원소를 가지는 vector v를 생성합니다.
vector<int> v(5, 2);
- 2로 초기화된 5개의 원소를 가지는 vector v를 생성합니다.
vector<int> v2(v);
- v2는 v vector를 복사해서 생성합니다.
vector<int> v; vector<int> v2;가 모두 내부에 인자들이 있다고 하면,
연산 : == , != , < , > , <= , >= 로 대소비교가 가능하다.
vector의 멤버 함수
Modifiers
v.puch_back(7);
- 마지막 원소 뒤에 원소 7을 삽입
v.pop_back();
- 마지막 원소 제거
v.insert(2, 3, 4);
- 2번째 위치에 3개의 4 값을 삽입 (뒤의 값들은 뒤로 밀림)
v.erase(iter);
- iter가 가리키는 원소를 제거
- size만 줄어들고 capacity는 그대로 남는다.
- erase는 파라미터 하나를 받을 때와 두 개를 받을 때는 다르다.
v.clear();
- 모든 원소를 제거합니다.
- 원소만 제거하고 메모리는 남아있다.
- size만 줄어들고 capacity는 그대로
v.assign(5, 2);
- 2의 값으로 5개의 원소 할당.
Capacity
v.size();
- 원소의 개수를 리턴
v.capacity();
- 할당된 공간의 크기를 리턴
- 공간 할당의 기준은 점점 커지면서 capacity를 할당하게 된다.
v.shrink_to_fit();
- 사용되지 않는 capacity size를 제거
Element access
v.front();
- 첫 번째 원소를 참조
v.back();
- 마지막 원소를 참
Iterators
v.begin();
- 첫 번째 원소를 가리킴(iterator와 사용)
v.end();
- 마지막의 "다음을 가리킴 (iterator와 사용)
'C++' 카테고리의 다른 글
C++ 오답노트 (0) | 2023.04.07 |
---|---|
C++ 생성자 소멸자 (0) | 2023.03.30 |
C++ 객체지향 프로그램 (0) | 2023.03.28 |
C++ 동적할당, 가비지컬렉션 (0) | 2023.03.21 |
프로세스 메모리 (0) | 2023.03.17 |