RESERVE

C | C++

C++ Vector reserve( )와 resize( )의 차이

C++ Vector reserve( )와 resize( )의 차이 둘의 차이는 한마디로 end( )의 위치가 다르다. resize( )를 하게 되면 그만큼의 생성자(constructor)가 실행된다. 이 개념이 왜 중요하냐면, size와 capacity 때문이다. 간단히 설명하자면 메모리에 이미 할당되어 있는 vector의 크기가 capacity이고 이 안에 원소의 수가 size이다. size가 capacity를 넘어가려고 하면 메모리의 더 큰 공간에 새로운 capacity를 만들고 vector를 이동하는 식으로 구현이 되어 있다. 맨처음 예시처럼 vector를 선언만 하는 경우 begin( )과 end( )가 같고 size와 capacity는 모두 0이다. 만약에 이 vector를 resize(5)하게..

냉국
'RESERVE' 태그의 글 목록