Taille est le nombre d'éléments présents dans un vecteur
Capacité est la quantité d'espace que le vecteur utilise actuellement.
Comprenons-le à l'aide d'un exemple très simple :
using namespace std;
int main(){
vector<int > vec;
vec.push_back(1);
vec.push_back(1);
vec.push_back(1);
cout<<"size of vector"<<vec.size()<<endl;
cout<<"capacity of vector"<<vec.capacity()<<endl;
return 0;
}
actuellement la taille est de 3 et capacité est de 4.
Maintenant, si nous repoussons un élément de plus,
using namespace std;
int main(){
vector<int> vec;
vec.push_back(1);
vec.push_back(1);
vec.push_back(1);
vec.push_back(1);
cout<<"size of vector"<<vec.size()<<endl;
cout<<"capacity of vector"<<vec.capacity()<<endl;
return 0;
}
maintenant la taille est : 4 la capacité est de 4
maintenant si nous essayons d'insérer un élément supplémentaire dans vector
alors la taille deviendra 5 mais la capacité deviendra 8.
cela se produit en fonction du type de données de vector
comme ici dans ce cas vector
dans de type int
comme nous savons que la taille de int
est de 4 octets, donc le compilateur allouera 4 blocs de mémoire et quand nous essayons d'ajouter le 5ème élément.., vector::capacity()
est le double de ce que nous avons actuellement.
Par exemple, si nous essayons d'insérer un 9ème élément, la taille de l'élément est de 1,5 mm. vector
sera de 9 et la capacité sera de 16
0 votes
Consultez également cette réponse stackoverflow.com/questions/2787397/ . Le langage utilisé est Java, mais le concept est le même.