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

▲ 그림 2-3 vector의 용량(capacity)과 크기(size)
vector 컨테이너의 크기(size)는 벡터에 할당된 용량(capacity)을 초과할 수 없다. size와 capacity가 같을 때 원소를 추가하면 추가 메모리가 할당된다. vector의 size와 capacity는 size()와 capacity() 함수를 호출해서 알 수 있다. size와 capacity 값은 구현체에 정의된 비부호 정수로 반환된다.
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;