본문 바로가기
프로그래밍 언어/C++

[STL] C++ vector(벡터) 간단 정리

by fortissimo 2024. 2. 9.

vector는 STL(standard template Library,표준 템플릿 라이브러리)에 존재하는 sequence container이다.

 

-헤더

  • vector
#include <vector>

 

 

-선언

  • vector<E> 변수 이름

ex)

vector<int> v1;
vector<string> v2;
vector<pair<int, int>> v3;

 

-원소 참조

  • v[int index]: 벡터의 index 번째 원소를 참조한다. 범위 검사를 하지 않는다.
  • v.at(int index): 벡터의 index 번째 원소를 참조한다. 범위 검사를 한다.

-멤버 함수

  • begin(): 벡터의 맨 첫번째 원소를 반환한다.
  • end(): 마지막 원소의 다음을 반환한다.
  • size(): 벡터의 크기를 반환한다.
  • push_back(E element): 벡터의 맨 마지막에 element를 삽입한다.
  • pop_back(): 마지막 원소를 제거한다.
  • front(): 벡터의 첫번째 원소를 반환한다.
  • back(): 벡터의 마지막 원소를 반환한다.
  • erase(iterator iter): iter가 가르키는 원소를 삭제한다. 벡터의 크기가 줄어든다.
  • empty(): 벡터가 비어있다면 true를 리턴, 아니라면 false를 리턴한다.
  • clear(): 벡터를 초기화한다. 벡터의 모든 원소들이 삭제되어 size가 0이지만 용량을 나타내는 capacity는 그대로이다.

 

-주로 같이 쓰이는 algorithm 헤더 함수

  • remove(찾는 범위의 첫번째 iterator, 찾는 범위의 마지막 iterator, 지우고 싶은 값): algorihtm 헤더에 존재하는 함수. 범위 내 해당 값을 가진 원소들을 지운다. 실제로 지우는 것은 아니고 벡터의 맨 뒤로 보낸다. 따라서 벡터의 크기는 그대로이다. 
  • find(찾는 범위의 첫번째 iterator, 찾는 범위의 마지막 iterator, 찾고 싶은 값): algorithm 헤더에 존재하는 함수. 벡터의 구간에서 원하는 값을 찾는다. 찾는 값이 없다면 찾는 범위의 마지막 iterator를 반환한다.