
1. vector container 란?
자동으로 메모리가 할당 되는 배열

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 |
---|