본문 바로가기
코딩/C, C++

[C++] vector 기본 문법 및 명령어

by JuBro 2024. 3. 22.

고정 크기의 배열 : array

가변 크기의 배열 : vector

 

실행중에 메모리 할당. 

 

 

Overhead

프로그램 실행흐름에서 동떨어진 위치의 코드를 실행할 때, 추가적으로 시간, 메모리 등의 자원이 사용되는 현상

 

 

 

capacity vs size

size = 할당 된 요소 수
capacity = 메모리에 할당 된 용량의 크기이다. 

원래 초기화 했던 vector를 넘어가면, size는 length처럼 가변적으로 변한다.

capacity또한 변하긴 하는데, 2배 단위로 늘어나고, pop과 같이 요소를 삭제해도 다시 줄어들지 않는다.

shrink_to_fit()와 같은 함수를 사용하면 다시 줄일 수 있다.

 

기본 문법 및 명령어
===참조===
v[idx] idx 번째 원소 참조
v.at(idx) idx번째 원소 참조
v.front(),v.back() 첫번째 데이터의 / 마지막 데이터의
v.begin(), v.end() 첫번째 데이터의 위치 / 마지막 데이터의 위치
===삽입, 삭제===
v.push_back(데이터 값) 데이터를 맨 끝에 삽입
v.pop_back() 맨 끝 데이터 삭제
v.insert(데이터 위치, 데이터 값) 특정 위치에 데이터 삽입
v.erase(데이터 위치) 특정 위치에 데이터 삭제
v.clear() 모든 원소 제거(size는 줄고, capacity는 유지)
===크기===
v.size() 벡터의 원소 개수 리턴
v.capacity() 벡터에 할당된 원소 개수 리턴
v.resize(n), v.resize(n,10) 벡터 size를 n으로 변경 ( + 데이터를 10으로 초기화)
v.empty() 비어있는지 확인
v.shrink_to_fit() capacity를 벡터 크기에 맞춤