개발

C++ vector

백인성(GGM) 2024. 3. 30. 22:21

vector

  • 배열의 단점을 보완한 컨테이너.
  • 실행 시간 크기를 변경할 수 있는 동적 배열.
  • 추가되는 요소의 개수에 따라서 자동적으로 크기가 조절됨
  • 배열 = 가변길이 배열

vector 동작원리

1. 여유분을 두고 메모리를 할당한다.

2. 유분이 꽉찼다면 기존의 영역을 버린다.

3. 기존의 크기에서 1.5배 사이즈로 새로운 영역을 만든다.

 

4. 새로운 영역으로 옮겨간다.


사용법

헤더파일 vector를 선언한다.

#include <vector>

 

선언

vector<자료형> 이름 (크기);

vector<int> iv;

 

멤버함수

 

사용 예

 

0~9 까지 출력하는 코드

#include <iostream> 
#include <vector>

using namespace std;
int main() {
	vector <int> v(10);
	for (int i = 0; i < 10; i++)
	{
		v[i] = i;
		cout << v[i];
	}
}

 

다른 방법

#include <iostream> 
#include <vector>

using namespace std;
int main() {
	vector <int> v;
	for (int i = 0; i < 10; i++)
	{
		v.push_back(i);
		cout << v[i];
	}
}

 

 

마무리

  • vector 와 배열만의 장단점은 확실하다
  • vector는 가변형인 대신 필요없는 메모리까지 차지한다.
  • 반면 배열은 선언한 크기만큼의 메모리만 차지한다.
  • 뭐가 더 좋은지는 상황에 따라 달라질 것 같다.
반응형

'개발' 카테고리의 다른 글

시간 복잡도  (0) 2024.04.16
C++ 클래스  (1) 2024.04.02
C++ 배열  (0) 2024.03.26
백준 25501번 재귀의 귀재  (0) 2024.03.22
C++ 열거형  (0) 2024.03.19