Utiliser un iterator sur un vector à 2 dimensions - position - C++ - Programmation
Marsh Posté le 19-05-2010 à 17:59:48
theshockwave a écrit : tu dois itérer deux fois, du coup ... Mais quand tu parles de position en deux dimensions, j'ai l'intuition que tu es mal parti. Ces vecteurs représentent quoi dans ton programme ? |
Des groupes ; la première dimension l'ensemble des groupes, et la deuxième est une liste d'objets qui sont en fait un même «noeuds électrique»
[edit] En tout, cela forme une «netlist»
Marsh Posté le 19-05-2010 à 18:04:59
ok, alors :
Code :
|
Marsh Posté le 19-05-2010 à 18:08:15
theshockwave a écrit : ok, alors :
|
C'est malheureusement ce que je craignais ; depuis l'iterator itx il n'est pas possible de récupérer sa position dans la dimension «d'au dessus»
Bon ben je vais devoir passer les 2 iterator en paramètre :-/
Marsh Posté le 19-05-2010 à 18:09:02
guepe a écrit : |
Sinon, tu peux calculer la position avant et la transmettre à ta fonction, si tu as juste besoin de la position
Marsh Posté le 19-05-2010 à 18:16:52
theshockwave a écrit : |
Oui c'est sur, enfin cela revient au même …
Merci !
Marsh Posté le 19-05-2010 à 19:30:34
t'as le droit de fair eun iterator_adaptor que tu construit à partir des deux et dont le * et ++ fait la tambuoille en interne.
Marsh Posté le 19-05-2010 à 20:36:50
Joel F a écrit : t'as le droit de fair eun iterator_adaptor que tu construit à partir des deux et dont le * et ++ fait la tambuoille en interne. |
En fait je suis finalement en train de faire exactement cela …
Marsh Posté le 19-05-2010 à 17:53:34
J'utilise un iterateur à 2 dimensions, et je cherche à connaître la position pointée dans chaque dimension.
À une dimension c'est facile :
std::vector<_Type > vect;
std::vector<_Type>::const_iterator it;
cout << it - vect.begin()<<endl;
Et à 2 dimensions, comment connaître la position dans chaque dimension ?
Merci !
---------------
Un blog qu'il est bien