[C++] std::vector resize와 reserve의 차이점
CPP2025. 5. 6. 22:30[C++] std::vector resize와 reserve의 차이점

STL의 대표 컨테이너인 vector의 resize와 reserve의 차이점을 알아보도록 하자.resize는 코테 공부를 할 때 정말 많이 사용했었는데 reserve는 가끔만 사용했었는데 둘의 차이점이 있다는 점정도만 알고 넘어가다가 도저히 안될거같아서 정리한 글이다...ㅠ 우선 vector자체는 가변배열이다. 데이터를 push_back하다가 보면 현재 동적할당받은 크기를 넘어서는 순간 다시 현재 사이즈 보다 더큰 배열을 동적할당하여 데이터를 새로 동적할당한 곳으로 복사한다. 이렇게 동적할당하고 복사하고~ 이런 과정의 비용이 비싸기 때문에 동적할당을 한번만 수행하여 비용을 낮추는데 주로 사용되는 vector의 멤버 변수가 두가지가 있다. 바로 resize, reserve이다. (동적할당이 어떻게 발생하고..

image