capacity
Sintassi:
#include <vector> size_type capacity() const;
The funzione capacity() ritorna il numero di elementi che un vettore può contenere senza allocare nuova memoria.
Esempio, il codice seguente usa due metodi differenti per impostare la capacità di due vettori. Un metodo passa un argomento al costruttire che inizializza il vettore con 10 elementi di valore 0, mentre il secondo metodo chiama la funzione 'reserve'. Comunque la vera dimensione del vettore rimane zero.
vector<int> v1(10); cout << "The capacity of v1 is " << v1.capacity() << endl; cout << "The size of v1 is " << v1.size() << endl; vector<int> v2; v2.reserve(20); cout << "The capacity of v2 is " << v2.capacity() << endl; cout << "The size of v2 is " << v2.size() << endl;
Una volta compilato e fatto eseguire l'output è il seguente
The capacity of v1 is 10 The size of v1 is 10 The capacity of v2 is 20 The size of v2 is 0
I contenitori del C++ sono progettati per crescere dinamicamente in dimensione. Questo risparmia al programmatore di dover preoccuparsi del problema di riallocare lo spazio di memoria quando il contenitore cresce oltre la propria capacità. In linea di principio quindi i contenitori possono avere un numero arbitrario di elementi. Tuttavia il programmatore può preoccuparsi delle prestazioni del proprio programma fornendo al valori consigliati per i contenitori. Queste indicazioni vengono fornite tramite reserve o tramite il costruttore dell'esempio precedente che accetta come parametro la dimensione che ci si può aspettare che il contenitore avrà
La funzione capacity() gira in tempo costante.