vector::capacity(容量)


Return size of allocated storage capacity


Returns the size of the storage space currently allocated for the ​​vector​​, expressed in terms of elements.


This capacity is not necessarily equal to the ​​vector size​​. It can be equal or greater, with the extra space allowing to accommodate for growth without the need to reallocate on each insertion.


Notice that this capacity does not suppose a limit on the size of the ​​vector​​. When this capacity is exhausted and more is needed, it is automatically expanded by the container (reallocating it storage space). The theoretical limit on the ​​size​​​ of a ​​vector​​​ is given by member ​​max_size​​.


The capacity of a ​​vector​​​ can be explicitly altered by calling member ​​vector::reserve​​.



Parameters


none

Return Value


The size of the currently allocated storage capacity in the ​​vector​​, measured in terms of the number elements it can hold.


Member type size_type



capacity的意思是容量,此方法返回的是该vector对象最多能容纳多少个元素。 size的意思是大小,此方法是返回该vector对象当前有多少个元素。


// comparing size, capacity and max_size
#include <iostream>
#include <vector>
using namespace std;
int main ()
{
std::vector<int> myvector;

// set some content in the vector:
for (int i=0; i<100; i++) myvector.push_back(i);

cout << "size: " << (int) myvector.size() << '\n';
cout << "capacity: " << (int) myvector.capacity() << '\n';
cout << "max_size: " << (int) myvector.max_size() << '\n';
return 0;
}


vector::capacity_#include