2020 이전/C++

vector 키우기

이상해C++ 2020. 1. 29. 10:41

벡터에는 실제 원소 개수의 개념인 size와 미리 배열을 잡아두는 크기인 capacity가 있다. 

 

  • 가장 처음 벡터의 size는 0 capacity도 0

 

  • max_size() = 2^30 -1

_OldCapactiy가 715,827,882 부터는 1개씩 자라는 형태로 재할당이 이루어지고

원소 4개까지는 +1씩 재할당이 일어나며

원소 5개 이후부터는 _OldCapacity의 1.5배씩 자라기 시작한다. 

 

재할당이 일어날 때마다의 capacity 변화