CWN(CHANGE WITH NEWS) - C++ 벡터 함수, 제대로 사용하려면?

  • 흐림수원6.5℃
  • 흐림영주3.5℃
  • 구름조금보성군12.2℃
  • 흐림정선군-0.2℃
  • 구름많음속초11.0℃
  • 구름많음서귀포16.9℃
  • 구름조금북창원15.6℃
  • 맑음동해14.3℃
  • 맑음진주14.1℃
  • 맑음정읍13.9℃
  • 박무홍성9.9℃
  • 맑음구미5.7℃
  • 흐림파주2.4℃
  • 맑음울진13.4℃
  • 맑음진도군14.6℃
  • 구름많음보령10.3℃
  • 구름많음부안13.5℃
  • 맑음목포13.2℃
  • 구름조금김해시14.3℃
  • 구름많음장흥15.4℃
  • 흐림보은4.8℃
  • 맑음고창군13.6℃
  • 맑음밀양11.6℃
  • 박무백령도5.5℃
  • 박무인천7.3℃
  • 맑음산청8.4℃
  • 맑음남원13.0℃
  • 구름조금울산15.5℃
  • 맑음추풍령5.4℃
  • 구름많음북부산15.1℃
  • 흐림이천2.9℃
  • 구름많음충주4.6℃
  • 구름조금여수12.2℃
  • 구름많음양산시14.7℃
  • 맑음고창13.7℃
  • 맑음영광군13.6℃
  • 맑음포항13.3℃
  • 구름많음고산15.8℃
  • 구름많음거제14.6℃
  • 흐림홍천-0.6℃
  • 흐림제주17.4℃
  • 맑음완도15.4℃
  • 흐림철원0.5℃
  • 구름많음대관령5.3℃
  • 구름많음장수10.7℃
  • 맑음영천8.0℃
  • 구름조금고흥14.4℃
  • 맑음강릉13.4℃
  • 맑음의성5.2℃
  • 맑음대구7.2℃
  • 흐림동두천2.7℃
  • 맑음청주9.3℃
  • 흐림춘천-0.7℃
  • 맑음의령군13.9℃
  • 구름많음상주3.7℃
  • 흐림영월0.0℃
  • 맑음함양군14.3℃
  • 구름많음임실11.7℃
  • 구름조금광주14.2℃
  • 맑음거창13.7℃
  • 맑음남해15.0℃
  • 흐림서산8.5℃
  • 맑음영덕14.8℃
  • 구름많음울릉도12.5℃
  • 구름많음부여11.4℃
  • 맑음서청주6.4℃
  • 흐림봉화0.6℃
  • 구름많음금산13.2℃
  • 흐림양평1.9℃
  • 맑음창원15.4℃
  • 맑음세종11.5℃
  • 맑음순창군12.9℃
  • 맑음순천14.6℃
  • 흐림안동3.7℃
  • 맑음군산11.3℃
  • 맑음청송군5.4℃
  • 흐림문경2.9℃
  • 흐림강화4.1℃
  • 맑음합천9.7℃
  • 구름많음성산17.4℃
  • 구름많음부산15.1℃
  • 흐림원주2.2℃
  • 박무서울6.3℃
  • 흐림인제-0.5℃
  • 구름많음태백7.7℃
  • 연무북강릉12.3℃
  • 맑음경주시15.8℃
  • 구름많음강진군15.4℃
  • 흐림북춘천-1.4℃
  • 맑음광양시14.5℃
  • 맑음흑산도13.6℃
  • 연무대전11.5℃
  • 흐림제천2.0℃
  • 구름많음통영14.8℃
  • 흐림전주13.6℃
  • 구름많음천안7.7℃
  • 구름많음해남15.1℃
  • 2026.01.15 (목)

C++ 벡터 함수, 제대로 사용하려면?

오영주 / 기사승인 : 2021-12-03 17:41:40
  • -
  • +
  • 인쇄

C++ 벡터는 STL(표준 템플릿 라이브러리)의 일부이며, 기본적으로 데이터를 저장하는 데 사용할 수 있는 컨테이너라고도 볼 수 있다. STL은 응용 프로그램의 효율성, 유연성 및 성능을 향상시키는 C++용으로 사용할 수 있는 많은 라이브러리 중 하나로, 벡터는 C++에 능숙해지고자 하는 사람에게 유용하고 중요한 개념이다.

컴퓨터 공학을 전공하고 있는 MakeUseOf의 작가 M. Fahad Khawaja는 “C++ 벡터는 배열을 사용하여 작업을 깔끔하고 빠르게 하므로 C++ 응용 프로그램을 개발하려는 경우 C++ 벡터를 사용하는 방법을 아는 것이 중요하다”고 강조했다.

그렇다면, 구체적으로 C++ 벡터 함수는 어떤 특성을 지녔으며 어떻게 사용해야 좋을까? M. Fahad Khawaja가 makeuseof에 기고한 내용에 따르면, C++ 벡터는 표준 템플릿 라이브러리의 필수 구성 요소인 시퀀스 컨테이너이며, 벡터는 필요한 경우 런타임 중에 크기를 동적으로 변경할 수 있는 배열을 나타낸다.

벡터의 컨테이너는 자동으로 메모리를 관리하기 때문에 기존 배열과 달리 벡터의 메모리 할당을 명시적으로 관리할 필요가 없다. C++ 벡터는 요소를 추가하거나 제거한 후 자체적으로 조정되는 동적 배열로 생각할 수 있다. 또한 벡터는 요소를 연속적으로 배열한다. 즉, 포인터나 반복자를 사용하여 쉽게 액세스할 수 있는 것이 특징이다.

또한 C++ 벡터를 사용하면 미분 시간의 끝에 새 요소가 삽입된다. 경우에 따라 벡터가 새 요소를 수용하기 위하여 확장돼야 하기 때문이다. 마찬가지로 벡터의 마지막 요소를 추출하는 경우 벡터가 길이(크기)를 조정할 필요가 없는 데 일정한 시간이 걸린다.

벡터를 효과적으로 사용하기 위해서는 반복자와 내장 함수를 사용해야 한다. 반복자는 C++ 벡터와 함께 사용되는 포인터인다. C++ 벡터와 함께 일반적으로 사용되는 몇 가지 반복기 및 STL 컨테이너 함수를 살펴보면 다음과 같다.

1.egin() : 벡터의 첫 번째 요소를 가리키는 반복자 포인터를 반환한다.
2.end() : 벡터 컨테이너의 끝 위치에 대한 반복기 포인터를 반환한다.
3.rbegin() : begin() 과 비슷하지만 벡터의 마지막 요소를 가리키는 역 반복자를 제공한다.
4.size() : 벡터에 저장된 요소의 개수를 반환한다.
5.max_size() : 벡터 컨테이너가 수용할 수 있는 요소의 최대 용량을 반환한다.
6.resize(x) : x 요소를 담을 수 있도록 벡터 컨테이너의 크기를 조정한다.
7.empty() : 벡터 컨테이너에 요소가 없으면 true를 반환한다.
8.push_back() : 마지막에 벡터에 새 요소를 삽입한다.
9.pop_back() : 벡터 컨테이너의 끝에서 요소를 추출한다.
10.insert(): 지정된 위치의 벡터에 요소를 추가할 수 있다.

M. Fahad Khawaja는 "C++ 벡터는 유연하고 강력하기 때문에 모든 C++ 개발자에게 필수적인 기능이다"라면서 "STL은 중요한 C++ 라이브러리이며 이를 자세히 탐색하면 더 나은 응용 프로그램을 만드는 데 도움이 될 수 있다"고 설명했다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue