[C++] C++ STL vector 기본 사용법과 예제
업데이트(2019.04.22): iterator를 이용한 for문 예제 추가
C++에서 vector 사용법을 간단하게 알아보자
환경 및 선수조건
- C++
벡터 기본 함수
iterator(반복자)
begin()
: beginning iterator를 반환end()
: end iterator를 반환
추가 및 삭제
push_back(element)
: 벡터 제일 뒤에 원소 추가pop_back()
: 벡터 제일 뒤에 원소 삭제
조회
[i]
: i번째 원소를 반환at(i)
: i번째 원소를 반환front()
: 첫번째 원소를 반환back()
: 마지막 원소를 반환
기타
empty()
: 벡터가 비어있으면 true 아니면 false를 반환size()
: 벡터 원소들의 수를 반환
배열과의 차이
- 동적으로 원소를 추가할 수 있으며 크기가 자동으로 늘어난다.
구현 코드
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> v;
// push_back
// 1-2-3-4-5
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
v.push_back(5);
// pop_back
v.pop_back();
// back and front
cout << "vector front value: " << v.front() << '\n';
cout << "vector end value: " << v.back() << '\n';
// [i] and at(i)
cout << "vector opeartor[]: " << v[3] << '\n';
cout << "vector at: " << v.at(3) << '\n';
// size
cout << "vector size: " << v.size() << '\n';
// empty
cout << "Is it empty?: " << (v.empty() ? "Yes" : "No") << '\n';
// iterator
vector<int>::iterator begin_iter = v.begin(); // auto begin_iter = v.begin()도 가능
vector<int>::iterator end_iter = v.end(); // auto end_iter = v.end()도 가능
// get value by iterator
cout << "vector begin value: " << *begin_iter << '\n';
// for statement iteration using iterator
for(vector<int>::iterator iter = v.begin(); iter != v.end(); iter++){
cout << *iter << ' ';
}
cout << endl;
return 0;
}