Un itérateur vecteur est un élément de langage informatique qui permet à un
programme pour lire des valeurs de données contenues dans un ensemble
spécialisé appelé un vecteur. Les vecteurs sont des objets utilisés pour les
valeurs de groupe de données connexes, semblables à des tableaux et des listes.
De nombreux langages informatiques différents, notamment Java et C + +,
contiennent des vecteurs et de leurs itérateurs associés. Chaque langue utilise
une syntaxe différente pour les itérateurs, mais le mécanisme sous-jacent dans
toutes les langues est l'accès individuel à chaque membre éventuel du groupe
vecteur.
Se déplacer dans un vecteur en
utilisant un itérateur est souvent appelé traversant ou itération. Itérateurs
vecteur peut également être utilisé pour indiquer explicitement un objet
particulier dans la collection de vecteur. Lorsque cette identification est
réalisée, l'objet est identifié par son index dans le vecteur, et non par les
caractéristiques de l'objet lui-même. Les actions peuvent être effectuées sur
l'objet si l'itérateur est déréférencé, l'octroi de l'accès au programme explicite
à l'objet plutôt que le vecteur.Itérateurs vectorielle a très peu de chances de
rencontrer l'erreur out of bounds qui peut se produire lors de l'itération sur
les tableaux. Bien que les vecteurs soient essentiellement des tableaux glorifiés
lorsque déconstruit, les vecteurs ont presque toujours un certain type de
vérification des limites qui assure un itérateur vecteur reste aux indices
appropriés. Lors de la traversée d'un vecteur, l'itérateur, s'il en a été
correctement, commence toujours au début du vecteur et se termine à la fin
exactement. Spécification explicite d'un index incorrect est encore possible
dans certains contextes, mais les limites de la vérification intégrée des
vecteurs, ce qui correspond à leurs itérateurs, les empêche de géant problèmes
de débordement.
En C + +, les vecteurs peuvent être
modifiés tout en étant traversé par itérateurs, mais Java interdit
explicitement que cela se produise. Actions de Java dans ce cas sont beaucoup
plus sûrs parce que changer un vecteur alors un itérateur se déplace sur il
peut provoquer l'itérateur, par inadvertance, lu en dehors du vecteur.
Tentative d'ajouter ou de supprimer des éléments d'un vecteur lors de
l'itération est particulièrement dangereuse, surtout si les indices de début et
de fin du vecteur doivent couvrir sont codées en dur. Un itérateur vecteur
n'est pas équipé pour gérer les changements soudains dans les vecteurs et les
vecteurs sont censés être relativement statique tout en étant traversé.
Un itérateur vecteur peut être
implicite ou explicite, et soit la forme syntaxique gère le parcours tout en
douceur. En dépit d'être codé pour l'efficacité, un itérateur vecteur peut être
ralentie par un vecteur très important. Dans ce cas, le codage en dur de
l'indice fin des vitesses allant jusqu'à vecteur traversées. Ce problème ne se
produit pas avec petits vecteurs, afin de coder en dur l'indice de fin ne
provoque aucune accélération notable. Le codage en dur de l'indice final peut
augmenter le risque de débordement, donc en général il faut le faire avec
parcimonie.
Ecrit par: Jessica Susan Reuter
Modifié par: Allegra J. Lingo