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

+ Recent posts