기술나눔

[C와 사랑에 빠지다] 벡터 사용법에 대한 자세한 설명

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


안녕하세요~ 학우 여러분, 이 기사에서는 C의 벡터 컨테이너에 대해 자세히 알아볼 것입니다. 표준 템플릿 라이브러리(STL)에서 가장 일반적으로 사용되는 동적 배열 중 하나인 벡터는 유연한 요소 저장 및 효율적인 액세스 방법을 제공합니다. 기본 지식부터 시작하여 점차적으로 생성, 초기화, 순회, 공간 관리, 추가, 삭제, 확인 및 수정 작업을 학습합니다. 상세한 예시와 분석을 통해 독자들이 벡터 사용에 대한 기술과 주의 사항을 완전히 이해하고 숙달할 수 있도록 돕고 싶습니다.

1: 벡터 소개

벡터문서

  1. 벡터는 가변 크기 배열을 나타내는 시퀀스 컨테이너입니다.
  2. 배열과 마찬가지로 벡터도 요소를 저장하기 위해 연속적인 저장 공간을 사용합니다. 즉, 첨자를 사용하여 벡터의 요소에 액세스할 수 있으며 이는 배열만큼 효율적입니다. 그러나 배열과 달리 크기는 동적으로 변경될 수 있으며 크기는 컨테이너에 의해 자동으로 처리됩니다.
  3. 기본적으로 벡터는 동적으로 할당된 배열을 사용하여 요소를 저장합니다. 새 요소가 삽입되면 저장 공간을 늘리기 위해 배열 크기를 조정해야 합니다. 이는 새 배열을 할당한 다음 모든 요소를 ​​이 배열로 이동하여 수행됩니다. 시간 측면에서 볼 때 이는 상대적으로 비용이 많이 드는 작업입니다. 컨테이너에 새 요소가 추가될 때마다 벡터의 크기가 조정되지 않기 때문입니다.
  4. 벡터 할당 공간 전략: 벡터는 저장 공간이 필요한 실제 저장 공간보다 크기 때문에 가능한 성장을 수용하기 위해 약간의 추가 공간을 할당합니다. 다양한 도서관은 공간 사용과 재할당을 절충하기 위해 다양한 전략을 사용합니다. 그러나 어떤 경우에도 재할당은 간격 크기가 대수적으로 증가해야 끝에 요소 삽입이 일정한 시간에 완료됩니다.
  5. 따라서 벡터는 저장 공간을 관리하고 효율적인 방식으로 동적으로 성장할 수 있는 능력을 얻기 위해 더 많은 저장 공간을 차지합니다.
  6. 다른 동적 시퀀스 컨테이너(deque, list 및ward_list)와 비교할 때 벡터는 요소에 액세스할 때 더 효율적이며 마지막에 요소를 추가하고 삭제하는 것이 상대적으로 효율적입니다. 끝이 아닌 다른 삭제 및 삽입 작업의 경우 효율성이 더욱 낮아집니다. list 및forward_list보다 통합 반복자와 참조를 사용하는 것이 더 좋습니다.


STL을 사용하는 영역에는 사용할 수 있는 것, 이해할 수 있는 것, 확장할 수 있는 것이 있습니다. 다음에도 벡터를 배워 보겠습니다.

2: 벡터 생성 및 초기화

헤더 파일이 필요합니다#include