[C++] Vector Container

3015 단어 C종만북C

학교에서 '알고리즘 분석'이라는 강의를 수강 중인데, 언어로 c++를 사용한다. 파이썬으로 알고리즘 문제를 풀던 나는 c++ 가 아직 익숙하지 않아서 c++ 언어를 공부하고 공부한 내용을 여기다가 정리하려고 한다.

Vector Container란

C++ STL(Standerd Template Library)의 sequence container.

자동으로 메모리가 할당되는 배열이라고 생각하면 된다.

속도적인 측면에서는 배열에 비해 성능이 떨어지지만, 효율적 관리와 예외처리가 쉽다는 장점이 있다. 그래서 알고리즘 해결 문제에서는 굉장히 많이 쓰이는 듯.

사용법


// 헤더파일을 추가해야 한다.
#include <vector>

vector <int> v;	// 선언은 vector <data type> 변수이름 

생성자와 연산자

vector<int> v;	
// 비어있는 벡터 생성.

vector<int> v(n);
// 0으로 초기화된 n개의 원소를 가지는 벡터 생성

vector<int> v = {1, 2, 3} // 이렇게도 초기화가 가능

vector<int> v2(v1); # v1벡터를 복사해 v2벡터를 생성.

멤버 함수

  • v.begin() : 벡터의 시작 주소 반환

  • v.end() : 벡터의 (끝부분 + 1) 주소 반환

  • v.at(i) : 벡터의 i번째 요소(범위 검사 o)

  • v[i] : 벡터의 i번째 요소 ( 범위 검사 x ). 이게 훨씬 효율적. 권장함.

  • v.push_back() : 벡터의 마지막 부분에 새로운 요소 추가

  • v.pop_back() : 벡터의 마지막 부분 제거

  • v.size() : 원소의 갯수를 리턴

  • v.capacity() : 할당된 메모리의 크기 리턴. 비트값처럼 2의 지수값으로 증가한다. (1, 2, 4, 8, 16....)

속성으로 알아보면 이정도..?
나머지는 사용하면서 감을 익혀보도록 하자.

참고 문서

벡터 컨테이너 사용 방법 - 개발자 지망생
벡터 사용법 - 환쉘

좋은 웹페이지 즐겨찾기