본문 바로가기
C++/기본

[C++] 기본 컨테이너 Vector 사용법

by 정보모아모아 2022. 12. 26.

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