Bonjour,
Je pense que la réponse est négative, mais je voudrais une confirmation (infirmation ?) de spécialistes:

Est-il possible d'obtenir le rang (l'indice) d'un élément d'un "vector" à partir d'un itérateur qui pointe sur un élement ?

Exemple pratique où ça pourrait être utile:

Pour deux vecteurs "parallèles", on a un itérateur qui parcours le premier en recherchant un élement, et on veut accéder directement à l'élément de même rang dans l'autre vecteur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
vector<int> v1;
vector<int> v2;
 
...
 
// recherche d'une valeur dans v1
vector<int>::iterator result;
result = find( v1.begin(), v1.end(), num_to_find );
 
// ici, comment obtenir idx tel qu'il corresponde à la position de 'result' dans v1 ?
uint idx = ????
v2[idx] = ma_nouvelle_valeur;
Je précise (pas évident dans l'exemple) que l'on souhaite en plus connaitre (remonter à l'utilisateur) la _position_ dans le tableau (idx), il ne s'agit pas juste de modifier v2.

Merci pour vos réponses