C++의 vector를 어떻게 이해해야 하는가
vector는 C++에서 가장 자주 쓰는 컨테이너 중 하나다. 개념적으로는 동적 배열(dynamic array)에 가깝다.
vector의 핵심
- 연속된 메모리 공간을 사용한다
- 크기를 동적으로 늘릴 수 있다
- 인덱스 접근이 빠르다
즉, 배열의 장점과 동적 확장의 편의성을 함께 가져가는 구조다.
왜 자주 쓰이는가
대부분의 문제 풀이와 일반 애플리케이션 코드에서:
- 순차 저장
- 인덱스 접근
- 뒤에 원소 추가
가 많기 때문이다. 이런 경우 vector는 기본 선택이 되기 쉽다.
주의할 점
크기가 늘어날 때 내부 버퍼를 재할당하면서 기존 원소를 복사할 수 있다. 따라서 참조나 포인터가 무효화될 수 있다는 점을 알아야 한다.
정리
vector는 C++에서의 기본 동적 배열이다. 빠른 인덱스 접근과 유연한 크기 조절이 장점이지만, 재할당과 참조 무효화 특성을 함께 이해하고 써야 한다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
댓글
아직 댓글이 없습니다