vector 컨테이너
-가변 길이 배열을 구현한 제네릭 클래스
-스스로 내부 크기를 조정하므로 개발자가 크기에 대해 고민한 필요가 없는 장점
-배열의 원소를 저장, 삭제, 검색하는 멤버 함수들을 제공
-인덱스 0부터 시작
vector 사용
#include<vector>
using namespace std;
vector 멤버 함수
▶vector 객체 생성
vector<int> v;
비어있는 벡터 v 생성
vector<int> v(3);
0으로 초기화된 3개 원소 벡터 v 생성
vector<int> v(3,2);
2로 초기화된 3개 원소 벡터 v 생성
vector<int> v2(v1);
v1 벡터 복사해서 v2벡터 생성
▶vector 원소 삽입
v.push_back(2);
벡터 v에 2 삽입
v.insert(3,2);
벡터 v의 위치 3에 2 삽입
v.insert(3,5,3);
3의 위치에 5개의 3 삽입
그다음 값들이 뒤로 밀림
▶vector 원소 삭제
v.clear();
모든 원소 제거, 메모리는 남아있음
v.pop_back();
벡터 v의 마지막 원소 삭제
v.erase(iter);
반복자 iter가 가리키는 원소에 접근해서 벡터 v의 원소 삭제
사이즈는 줄어들고 메모리는 남아있음
▶vector 원소 접근
v[idx];
idx번째 원소 접근
v.at(idx);
idx번째 원소 접근
v.front();
첫 번째 원소 접근
v.back();
마지막 원소 접근
v.begin();
반복자로 접근 시 제일 처음 데이터의 위치 가리킴
v.end();
반복자로 접근 시 제일 마지막 데이터의 위치 가리킴
▶vector 사이즈
v.size();
원소 갯수 리턴
v.capacity();
할당된 공간의 크기 리턴
v.empty();
비어있으면 true 리턴 아니면 false 리턴
비어있다의 기준은 사이즈 O 용량 X
v.resize(5);
벡터 v의 크기를 5로 변경
v.resize(5,10);
벡터 v의 크기를 5로 변경한 후 값 10으로 초기화
참고
서적: 명품 C++ 프로그래밍
'프로그래밍 언어 > c++' 카테고리의 다른 글
[STL] 덱(Deque) (0) | 2021.10.12 |
---|---|
[STL] 큐(Queue) (0) | 2021.10.11 |
STL (0) | 2021.09.19 |
C++ break 문과 continue문 (0) | 2021.09.12 |
visual studio LINK2005 에러 (0) | 2021.09.08 |