맨위로가기

벡터 (STL)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 본문

C++ 표준 템플릿 라이브러리(STL)에서 벡터(vector)는 동적 배열을 나타내는 시퀀스 컨테이너입니다. 다음은 벡터에 대한 자세한 설명입니다.
벡터의 특징


  • 동적 크기: 벡터는 필요에 따라 자동으로 크기가 조정됩니다. 요소를 추가하거나 제거하면 벡터가 자체적으로 메모리 관리를 처리합니다.
  • 요소 접근: 인덱스를 사용하여 벡터의 요소에 빠르게 접근할 수 있습니다 (예 : `myVector[3]`).
  • 순차 저장: 요소는 메모리에 연속적으로 저장되므로 반복자를 사용하여 효율적으로 순회할 수 있습니다.
  • 끝에 추가/제거: 벡터의 끝에 요소를 추가하거나 제거하는 작업은 일반적으로 빠릅니다 (상수 시간). 그러나 벡터의 중간에 요소를 삽입하거나 제거하는 작업은 더 많은 시간이 소요될 수 있습니다 (선형 시간).

벡터의 사용벡터를 사용하려면 `` 헤더 파일을 포함해야 합니다.

```c++

#include

```
벡터의 생성 및 초기화```c++

std::vector myVector; // 정수형 벡터 생성 (비어 있음)

std::vector myVector2 = {1, 2, 3, 4, 5}; // 초기값을 가진 벡터 생성

std::vector myVector3(10); // 크기가 10인 벡터 생성 (0으로 초기화)

std::vector myVector4(5, 10); // 10으로 초기화된 5개의 요소를 가진 벡터 생성

```
벡터의 주요 멤버 함수

  • `push_back(value)`: 벡터의 끝에 새 요소를 추가합니다.
  • `pop_back()`: 벡터의 마지막 요소를 제거합니다.
  • `size()`: 벡터의 요소 수를 반환합니다.
  • `empty()`: 벡터가 비어 있는지 확인합니다 (비어 있으면 true, 그렇지 않으면 false).
  • `at(index)`: 지정된 인덱스의 요소를 반환합니다 (범위 검사 수행, 범위를 벗어나면 예외 발생).
  • `operator[]`: 지정된 인덱스의 요소를 반환합니다 (범위 검사 없음).
  • `front()`: 벡터의 첫 번째 요소를 반환합니다.
  • `back()`: 벡터의 마지막 요소를 반환합니다.
  • `begin()`, `end()`: 벡터의 시작과 끝을 가리키는 반복자(iterator)를 반환합니다.
  • `insert()`, `erase()`: 벡터의 특정 위치에 요소를 삽입하거나 제거합니다.
  • `clear()`: 벡터의 모든 요소를 제거합니다.
  • `resize()`: 벡터의 크기를 변경합니다.
  • `capacity()`: 벡터에 할당된 메모리 크기를 반환합니다.

벡터 사용 예제```c++

#include

#include

int main() {

std::vector myVector;

myVector.push_back(10);

myVector.push_back(20);

myVector.push_back(30);

std::cout << "벡터의 크기: " << myVector.size() << std::endl;

std::cout << "벡터의 요소: ";

for (int i = 0; i < myVector.size(); ++i) {

std::cout << myVector[i] << " ";

}

std::cout << std::endl;

std::cout << "벡터의 요소 (반복자 사용): ";

for (auto it = myVector.begin(); it != myVector.end(); ++it) {

std::cout << *it << " ";

}

std::cout << std::endl;

myVector.pop_back();

std::cout << "마지막 요소 제거 후 벡터의 크기: " << myVector.size() << std::endl;

return 0;

}

```
벡터와 배열의 비교벡터와 배열과 같은 점과 다른 점은 다음과 같습니다:

  • 유사점:
  • 요소에 대한 빠른 접근 (인덱스 사용).
  • 순차적인 데이터 저장.
  • 차이점:
  • 크기: 배열은 크기가 고정되어 있지만 벡터는 동적으로 크기를 조절할 수 있습니다.
  • 메모리 관리: 배열은 사용자가 직접 메모리를 관리해야 할 수 있지만, 벡터는 자동으로 메모리를 관리합니다.
  • 기능: 벡터는 배열보다 더 많은 기능 (예: `push_back`, `pop_back`, `insert`, `erase`)을 제공합니다.
  • 성능: 삽입 및 삭제에서 배열은 요소의 이동이 필요하지만, 벡터는 capacity가 충분하다면 상수시간, 그렇지 않다면, 선형시간안에 수행합니다.


이 정보가 도움이 되었기를 바랍니다.

벡터 (STL)
C++ 표준 라이브러리
종류표준 템플릿 라이브러리
포함 헤더
정의
설명시퀀스 컨테이너


본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com