[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;

}


[Python] pdb를 이용해 파이썬 코드 디버깅하기

> pdb를 이용해 python 코드를 디버깅하는 방법을 알아보자.## 환경- Linux 기반 시스템- Bash shell(/bin/bash)- Python## pdb### pdb란?- ```pdb``` : 파이썬 디버깅 도구로 파인썬 인터프리터...… Continue reading