C++ STL Vector

Intro

STL Vector의 이해

벡터 (Vector)

벡터는 시퀀스 컨테이너중 하나이며, 동적 배열을 C++로 구현한 것이고 자동으로 배열 크기조절과 객체 추가 삭제가 가능하다. 1

벡터의 선언

vector<Data Type> [변수이름]

벡터 생성자

  • vector v : 비어 있는 컨테이너 생성

  • vector v(n) : 기본값으로 초기화된 n개의 원소를 가지는 vector 생성

  • vector v(n,m) : m으로 초기화된 n개의 원소를 가지는 vector 생성

  • vector v(v2) : v는 vector v2를 복사해서 생성

벡터의 멤버 함수

  • v.assign(n,m); : m의 값으로 n개 원소를 할당

  • v.assign(b,e); : 반복자 구간을 b,e로 할당

  • v.reserver(n); : n개의 원소를 저장할 공간을 예약

  • v.front(); : 첫 번째 원소 참조

  • v.back(); : 마지막 원소 참소

  • v.clear(); : 모든 원소를 제거 (메모리는 존재)

  • v.push_back(n); : 마지막 원소 뒤에 n 삽입

  • v.pop_back(); : 마지막 원소 제거

  • v.capacity(); : v에 할당된 크기

  • v.empty(); : v가 비었는지 조사

  • v.begin(); : 첫 원소를 가리키는 반복자

  • v.end(); : 마지막 원소를 가리키는 반복자

  • v.size(); : v의 원소 갯수

  • v.swap(v2) : v2와 v를 swap

  • v.resize(n) : 크기를 n으로 변경

  • v.insert(n,m,x) : n의 위치에 m개의 x값 삽입

  • v.max_size(); : 담을수 있는 최대 원소 갯수

  • v.at(n); : n 번째 원소를 참조 (v[n]보다 느리지만 안전)

  • v[n]; : n 번쨰 원소 참조

예제

실행 결과

7개의 공간을 가지고 원소가 5개 있는 vector 생성
1
2
3
4
5

size : 5 capacity : 7

-----resize(10,1)-----
1
2
3
4
5
1
1
1
1
1

size : 10 capacity : 10

-----pop 3번 수행-----
1
2
3
4
5
1
1

size : 7 capacity : 10

-- resize(3) --
1
2
3

size : 3 capacity : 10

-- vector clear() --
Vector v is empty

size : 0 capacity : 10

참고 자료

http://www.cplusplus.com/reference/vector/vector/

위키백과

댓글남기기