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++ 프로그래밍

사이트: https://blockdmask.tistory.com/70

https://life-with-coding.tistory.com/411

'프로그래밍 언어 > 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

+ Recent posts