코딩/C, C++
[C++] vector 기본 문법 및 명령어
JuBro
2024. 3. 22. 16:09
고정 크기의 배열 : 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를 벡터 크기에 맞춤 |