본문 바로가기

Language/C++

c++ vector capacity

vector capacity

vector에 할당되는 메모리크기를 알아보는 방법이다.

#include <iostream>
#include <vector>

using namespace std;

int main()
{
	vector<int> v1;

	for (int cnt = 0; cnt <= 64 ; ++cnt)
	{
		v1.push_back(cnt);
		cout << "[" << v1.size() << ", " << v1.capacity() << "]" << endl;
	}

	return 0;
}

 

결과는
vector의 크기( vector.size() )와 capacity가 같아졌을때,
현재 capacity / 2 (소수점 생략) 의 값만큼 확장되는것을 알 수 있다.

 

windows 10 64bit에서 해본 결과이다.

 

참고) vector capacity까지 초기화 하기.

#include <iostream>
#include <vector>

using namespace std;

int main()
{
	vector<int> v1(5);
	
	cout << v1.capacity() << endl;

	vector<int>().swap(v1); // 5-> 0으로 초기화된다.

	cout << v1.capacity() << endl;

	return 0;
}

 

 

반응형

'Language > C++' 카테고리의 다른 글

c++ malloc new 차이점?  (0) 2019.01.26
c++ thread, mutex, atomic  (0) 2019.01.11
c++ Operator  (0) 2018.12.29