54 votes

taille vs capacité d'un vecteur ?

Je suis un peu confus à ce sujet, les deux me semblent identiques. Bien qu'il puisse arriver que la capacité et la taille diffèrent selon les compilateurs, comment cela peut-il différer ? Il est également dit que si nous sommes à court de mémoire, la capacité change.

Toutes ces choses sont un peu floues pour moi.

Quelqu'un peut-il me donner une explication (si possible avec un exemple ou si je peux faire un test sur un programme pour le comprendre) ?

0 votes

Consultez également cette réponse stackoverflow.com/questions/2787397/ . Le langage utilisé est Java, mais le concept est le même.

0voto

Talha Tayyab Points 31

La taille du vecteur est le nombre total d'éléments d'un vecteur et elle est toujours la même pour tous les compilateurs. Les vecteurs sont redimensionnables.

La capacité est le nombre maximum d'éléments que le vecteur peut actuellement contenir. Elle peut différer selon les compilateurs.

La capacité change si nécessaire, ou vous pouvez définir une capacité initiale et elle ne sera pas redimensionnée tant que cette capacité n'est pas atteinte. Elle est automatiquement étendue.

Capacité > = Taille

0voto

Dean P Points 108

L'un est plus important interface et l'autre est plus importante détail de la mise en œuvre . Vous vous occuperez surtout de la taille et non de la capacité . En d'autres termes :

  • La taille est le nombre d'éléments du vecteur. Si vous voulez itérer dans le vecteur, vous devez connaître sa taille.

  • La capacité est le nombre d'éléments qui peuvent être placés dans le vecteur avant que de la mémoire supplémentaire ne lui soit allouée. Une fois la limite de capacité atteinte, davantage de mémoire est allouée au vecteur.

Une analogie avec la taille est le nombre de boules dans une boîte, alors que la capacité est la taille de la boîte. Lorsque vous programmez, vous voulez normalement savoir combien de balles se trouvent dans la boîte. L'implémentation du vecteur devrait gérer la capacité pour vous (faire une boîte plus grande une fois qu'elle est pleine).

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X