[C++] vector resize vs reserve

다곰·2022년 10월 1일
0

vector 동적 할당시 발생하는 문제점

push_back 으로 원소 추가시 용량 초과할 경우,
기존 용량의 2배 메모리 할당 ➡️ 기존 원소 복사 ➡️ 기존 메모리 해제
위 과정을 거치는데 이 과정에서 시간 초과 발생

reserve 함수

v.reserve(100)
vector v 에 100개의 메모리 공간 할당

resize 함수

v.resize(100,1)
vector v 에 100개의 메모리 공간 할당 후 이를 1로 초기화
2번째 매개변수는 default 0

✏️ resizereserve 의 차이점은 메모리 할당 후 초기화의 유무

profile
다교미의 불꽃 에러 정복기

0개의 댓글