1. vector container 란?

자동으로 메모리가 할당 되는 배열

vector 구조

 

2. vector의 사용

<vector> 헤더파일을 추가해야 한다.

using namespace std; 를 사용하면 편리하다. 

 

3. vector의 생성자

① vector<int> v;

 - 비어 있는 vector v를 생성

 

② vector<int> v(10);

 - 기본 값(0)으로 초기화 된 10개의 원소를 가지는 vector v를 생성

 

③ vector<int> v(10,5)

 - 2로 초기화 된 10개의 원소를 가지는 vector v를 생성

 

vecotr<int> v1(10,5);

     vector<int> v2(v1);

 - v1 vector를 복사해서 v2 생성

 

 * 연산자 "==", "!=", "<", ">", "<=", ">="로 대소 비교 가능

 

4. vector의 멤버 함수

* vector<int> v; 라고 가정

① v.assign(5,2); 

 - 2의 값으로 5개의 원소 할당

 

② v.at(index)

 - index번째 원소 return

 - v[index] 보다 속도는 느리지만, 범위를 점검하므로 안전

    v[index]

 - index번째 원소 return

- 범위를 점검하지 않으므로 속도가 v.at(index)보다 빠름

 

 v.front();

 - v의 첫번째 원소를 return

   v.back();

 - v의 마지막 원소를 return

 

 v.clear();

 - v의 모든 원소 제거

 - 원소만 제거하고 메모리는 남아있음 (size만 줄어들고, capacity는 그대로 남아있음)

 

v.push_back(7)

 - v의 마지막 원소 뒤에 7을 삽입

     v.pop_back()

 - v의 마지막 원소를 삭제

 

⑥ v.clear()

 - v의 모든 원소 제거

 - 원소만 제거하고 메모리는 남아있음 (size만 줄어들고, capacity는 그대로 남아있음)

 

v.begin()

 - v의 시작점의 주소 값 return

    v.end()

 - v의 마지막부분의 다음 주소 값 return

 

v.rbegin()

 - v의 끝 지점을 시작점으로 return

     v.rend()

 - v의 시작점 다음지점을 끝 부분으로 return

 

v.reserve(n)

 - n만큼의 capacity를 설정

 - n이 현재 capacity보다 클 때만 동작, 작으면 아무 일도 일어나지 않는다.

   v.resize(n)

 - size를 n으로 변경, 현재 size보다 n이 클 경우 인자의 값을 default값인 0으로 초기화

     v.resize(n,3)

 - size를 n으로 변경, 현재 size보다 n이 클 경우 인자의 값을 3으로 초기화

 

 

⑩ v.size()

 - v의 원소 갯수를 return

     v.capacity()

 - v의 할당된 공간의 크기를 return 

 

⑪ v2.swap(v1)

 - v1과 v2의 원소과 capacity를 바꿈(모든 걸 swap)

 

⑫ v.insert(2,3)

 - 2번째 위치에 3의 값을 삽입

 - 삽입한 곳의 iterator를 return

     v.insert(2,3,4)

 - 2번째 위치에 3의 값을 4개 삽입

 

 v.erase(index)

 - index가 가리키는 원소를 제거

      v.erase(start,end)

 - start이상, end 미만이 가르키는 원소를 제거

 

⑭ v.empty()

 - v가 비어있으면 return true

 


https://blockdmask.tistory.com/70

 

[C++] vector container 정리 및 사용법

안녕하세요.  BlockDMask 입니다. 오늘은 C++ STL의 sequence container 중에 정말 자주 쓰는 vector에 대해서 알아보겠습니다. <목차> 1) vector container 란? 2) vector의 사용 3) vector의 생성자와 연산..

blockdmask.tistory.com

 

*[개발자 지망생]님 블로그를 보고 공부하며 제가 보기 편하게 정리 한 글 입니다.*

'Study > C++' 카테고리의 다른 글

[C++] string 클래스 정리  (0) 2021.10.29

+ Recent posts