title: “C++ 16.표준 템플릿 라이브러리(벡터)” categories:

  • CspecialCharspecialChar

    #C++ 16.표준 템플릿 라이브러리(벡터) : 네이버 블로그

이번에는 표준 라이브러리 중 하나인 벡터에 대해 알아보겠다

c++에서는 다양한 자료구조 저장 클래스가 있으며 벡터를 비롯한 리스트,큐,스택,맵,셋 등이 있다.

우리는 벡터를 알아보겠다

벡터는 연속적인 데이터 저장으로 자동으로 메모리가 할당되는 배열입니다

벡터를 사용하기 위해서는 헤더파일 vector이 필요하다

#include

벡터의 선언은 vector<자료형> 이름 으로 이루어진다

벡터에 데이터를 넣는 방법은

v.push_back(데이터)를 사용한다

데이터는 하나씩 뒤에 써지며 메모리는 자동으로 할당된다

데이터의 접근은 .at을 사용한다

벡터 이름이 v라고 하면 v.at(위치)

위치에 있는 데이터에 접근 할 수 있다

예를들어 v.at(0)을 하면 첫번째 데이터를 뜻한다

또는 배열처럼 v[]를 사용할 수 있다

벡터에는 다양한 연산자 함수가 있다

먼저 .begin으로 벡터의 처음을 리턴받을 수 있고

v.end로 끝을 리턴받을 수도 있다

벡터를 효과적으로 사용하기 위해서는 iterator라는 포인터가 유용하게 쓰인다

이 포인터는 벡터의 원소에 대한 포인터이다

즉 데이터에 접근하기 쉬워진다

선언은 vector<자료형>::iterator 포인터이름;

으로 선언된다

이는 포인터이므로 벡터가 무슨 자료형이냐에 따라 포인터 크기가 달라진다

응용법으로는

vector::iterator it 이 있다면

for(it=v.begin(); it!=b.end(); it++)

처럼 사용할 수 있다

원소에 접근하는 것은 일반 포인터처럼 *을 사용하면 된다

위의 예제에서는

*it 이 된다.

업데이트: