더북(TheBook)

2.3.2 벡터의 용량과 크기

벡터의 용량(capacity)은 메모리를 추가 할당하지 않아도 저장할 수 있는 원소들의 개수를 말한다. 즉, 이 원소들은 있을 수도 있고, 없을 수도 있다. vector의 크기(size)는 실제로 갖고 있는 원소들의 개수를 말한다. 즉, 실제로 저장되어 있는 원소들의 개수다. 그림 2-3은 이 둘의 차이를 보여준다.

▲ 그림 2-3 vector의 용량(capacity)과 크기(size)

 

vector 컨테이너의 크기(size)는 벡터에 할당된 용량(capacity)을 초과할 수 없다. sizecapacity가 같을 때 원소를 추가하면 추가 메모리가 할당된다. vectorsizecapacitysize()capacity() 함수를 호출해서 알 수 있다. sizecapacity 값은 구현체에 정의된 비부호 정수로 반환된다.

std::vector<size_t> primes { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47 };
std::cout << “The size is “ << primes.size() << std::endl;
std::cout << “The capacity is “ << primes.capacity() << std::endl;
 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.