vector1 [C++ STL] vector vector 연속된 메모리 기반의 컨테이너(배열 기반의 컨테이너)이다. 따라서 메모리를 먼저 잡아놓고 사용해야 한다. 그렇지 않으면 데이터를 추가할 때마다 메모리 재편성 작업을 한다. (vector는 메모리를 2중으로 관리하고 있다.(전체 길이와 데이터 개수) vector 메모리 재편성 STL 컨테이너는 데이터 삽입 시 메모리의 크기가 부족한 경우 메모리를 2의 증가율만큼 크기를 늘리도록 구현하고 있다. 재할당을 할 때 컨테이너가 원래 가지고 있었던 메모리에 저장된 모든 요소 데이터를 새 메모리에 복사하고 원래의 메모리에 저장된 모든 객체를 소멸시키고 원래 메모리를 해제한다. (할당 - 복사 - 소멸 - 해제의 비용이 들어간다.) 다음을 보면 메모리 재편성을 어떻게 하고 있는지 알 수 있다. 위 코드를 .. 2018. 3. 18. 이전 1 다음