IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

iterateur de vecteur 2D et erase


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 51
    Par défaut iterateur de vecteur 2D et erase
    Bonjour,

    j'ai un vecteur 2D d'indices avec une taille variable pour chaque sous-vecteurs, et je veux faire une boucle sur ces sous-vecteurs et ajouter ceux qui sont inferieurs a une certaine taille au sous-vecteur suivant, ainsi de suite, donc voila mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	for( std::vector<std::vector<unsigned int> >::iterator iter1 = vvuIndices.begin();  iter1 != vvuIndices.end() ; iter1++ )
    	{
    		if ((*iter1).size() < N)
    		{
    			for( std::vector<unsigned int>::iterator iter2 = (*iter1).begin();  iter2 != (*iter1).end() ; iter2++ )
    			{
    				(*(iter1+1)).push_back(*iter2);
    			}
    			vvuIndices.erase(iter1);
    		}
    	}
    Tout se passe bien pour la premiere iteration, mais des que je reviens sur le premier for, ca plante ... apparemment le iter1++, mais je comprends pas pourquoi.

    Quelqu'un a une idee ou peut-etre une plus jolie facon de faire ca?

    Merci.

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par défaut
    Citation Envoyé par micamused Voir le message
    Bonjour,

    j'ai un vecteur 2D d'indices avec une taille variable pour chaque sous-vecteurs, et je veux faire une boucle sur ces sous-vecteurs et ajouter ceux qui sont inferieurs a une certaine taille au sous-vecteur suivant, ainsi de suite, donc voila mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	for( std::vector<std::vector<unsigned int> >::iterator iter1 = vvuIndices.begin();  iter1 != vvuIndices.end() ; iter1++ )
    	{
    		if ((*iter1).size() < N)
    		{
    			for( std::vector<unsigned int>::iterator iter2 = (*iter1).begin();  iter2 != (*iter1).end() ; iter2++ )
    			{
    				(*(iter1+1)).push_back(*iter2);
    			}
    			vvuIndices.erase(iter1);
    		}
    	}
    Tout se passe bien pour la premiere iteration, mais des que je reviens sur le premier for, ca plante ... apparemment le iter1++, mais je comprends pas pourquoi.

    Quelqu'un a une idee ou peut-etre une plus jolie facon de faire ca?

    Merci.
    erase() invalide les itérateurs. Par contre, la méthode renvoie un itérateur pointant sur l'élément suivant celui qui a été supprimé.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

Discussions similaires

  1. iterateur sur vecteur avec objets
    Par debloc dans le forum Débuter
    Réponses: 11
    Dernier message: 04/11/2011, 19h39
  2. methode const et iterateur de vecteur
    Par hpfx dans le forum Débuter
    Réponses: 10
    Dernier message: 29/08/2010, 13h30
  3. acces à un iterateur de vecteur par son index
    Par koala01 dans le forum C++
    Réponses: 11
    Dernier message: 25/11/2006, 10h17
  4. Réponses: 8
    Dernier message: 07/04/2006, 08h03
  5. matrices * vecteur
    Par delire8 dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 07/09/2002, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo