Sintaxe:
#include <string> size_type capacity() const;
A função capacity() devolve o número de elementos que a string consegue guardar até precisar de alocar mais espaço. Por exemplo, o código seguinte usa dois métodos diferentes para definir a capacidade de dois vectores. Um método passa um argumento ao construtor que sugere um tamanho inicial, o outro método invoca a função reserve para atingir uma meta semelhante:
vector<int> v1(10); cout << "The capacity of v1 is " << v1.capacity() << endl; vector<int> v2; v2.reserve(20); cout << "The capacity of v2 is " << v2.capacity() << endl;
Quando executado, o código acima produz a seguinte saída:
The capacity of v1 is 10 The capacity of v2 is 20
Os contentores do C++ são designados para crescer dinamicamente em tamanho. Isto liberta o programador das preocupações de guardar um número arbitrário de elementos num contentor. Contudo, às vezes o programador pode melhorar a performance do programa dando dicas ao compilador sobre o tamanho dos contentores que o programa irá usar. Essas dicas aparecem sob a forma da função reserve() e no construtor usado no exemplo acima, que indicam ao compilador o tamanho esperado do contentor. A função capacity() corre em tempo constante.