C++에서 벡터 컨테이너는 동적 배열로 구현되는 시퀀스 컨테이너이다.
표준 템플릿 라이브러리(STL)의 일부인 벡터 헤더에 정의됩니다.
쉽게 말해 요소들을 묶어서 저장할 수 있는 객체 입니다. 비유하여 예를들면 주머니3개에 빨간구슬, 하얀구슬, 파란구슬을 나눠 담아놓고 해당 주머니에만 접근하면 각 요소들을 묶어서 관리,접근할 수 있는 방법입니다.
벡터의 주요 특징은 다음과 같다.
- 요소들을 연속적인 메모리 블록에 저장하여 빠른 요소 접근과 효율적인 메모리 사용을 가능하게 한다.
- 요소가 추가되거나 제거될 때 자동으로 크기가 조정되므로 배열처럼 고정된 크기가 없습니다.
- push_back, pop_back, insert, erase, size 등 요소를 조작하고 접근하기 위한 많은 유용한 멤버 기능을 제공한다.
다음은 벡터를 사용하여 정수 목록을 저장하고 조작하는 간단한 예이다.
#include <vector>
#include <iostream>
int main() {
std::vector<int> numbers;
// push_back을 이용해 vector에 요소를 추가
numbers.push_back(1);
numbers.push_back(2);
numbers.push_back(3);
// vector의 요소를 출력
for (int i : numbers) {
std::cout << i << " ";
}
std::cout << std::endl;
// 새 요소를 추가
numbers.insert(numbers.begin() + 1, 4);
// vector 요소를 새로 출력
for (int i : numbers) {
std::cout << i << " ";
}
std::cout << std::endl;
// 2번째 위치의 요소를 제거
numbers.erase(numbers.begin() + 2);
// vector의 size를 출력
std::cout << "Size: " << numbers.size() << std::endl;
return 0;
}
출력결과:
1 2 3
1 4 2 3
Size: 3