Syntaxe :
#include <vector> size_type capacity() const;
La méthode capacity() retourne le nombre d'éléments que le vecteur peut contenir avant qu'il ne doive allouer plus d'espace (capacité). Ce n'est pas nécessairement la taille retournée par size.
L'exemple suivant montre deux façons différentes pour positionner la capacité de deux vecteurs.
vector<int> v1(10); cout << "La capacité de v1 est " << v1.capacity() << endl; cout << "La taille de v1 est " << v1.size() << endl; vector<int> v2; v2.reserve(20); cout << "La capacité de v2 est " << v2.capacity() << endl; cout << "La taille de v2 est " << v2.size() << endl;
Ce code produit la sortie suivante lors de son exécution :
La capacité de v1 est 10 La taille de v1 est 10 La capacité de v2 est 20 La taille de v2 est 0
Les taille des conteneurs C++ est prévue pour augmenter dynamiquement au besoin. Cela permet au programmeur de ne pas se soucier de la taille des conteneurs pour le stockage d'un nombre indéterminé d'éléments. Il est cependant possible d'améliorer les performances du programme en précisant au compilateur le nombre de d'éléments qui seront stockés. On utilise à cet effet la méthode reserve qui permet d'indiquer quelle taille le conteneur est censé faire.
La méthode capacity() est de complexité algorithmique constante.