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

C++ Discussion :

supprimer un element d'un vecteur


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Juin 2003
    Messages
    83
    D�tails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 83
    Par d�faut supprimer un element d'un vecteur
    bonjour
    je souhaite supprimer le ieme element d'un vecteur
    je fais:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     for (int i = 0; i < Vl.size();i++){
                            if (strcmp(test.c_str(),Vl[i]->GetNom()) == 0){
                                   //suppression de Vl[i]
                            }
    j'ai essay� avec plein de fonctions mais ca marche p�...
    merci d'avance

  2. #2
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    En g�n�ral, on va plut�t bosser avec des it�rateurs. Une fois que tu as ton it�rateur, un petit coup d'erase et c'est fini. N'importe quelle doc en ligne sur la SL va te donner la liste des fonctions membre des vecteurs (et autres containers).

    Et dans ce cas particulier, on va plut�t ecrire:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    // les données dans le vecteur
    struct typeDonnee {
        ...
        std::string const& getNom() const;
    };
     
    // Le foncteur-prédicat, cf FAQ
    struct TesteNom {
        TesteNom(std::string const& nom) : nom_(nom) {}
        bool operator()(typeDonne const* d) const {
            return d->getNom() == nom_;
        }
    private:
        std::string nom_;
    };
     
    typedef std::vector<typeDonnee> vector_t;
    vector_t VI;
    .... // remplissage
     
    // déplace les éléments dont le nom vaut test à la fin du vecteur
    vector_t::const_iterator coupe_a_partir
        = std::remove_if(VI.begin(), VI.end(), TesteNom(test));
     
    // Pas oublier de libérer les éléments (si tu utilises des pointeurs 
    // bruts (i.e. non intelligents) devant être libérés).
    // Cf FAQ pour définition de DeleteObject (ou MEC++)
    for_each(coupe_a_partir, VI.end(), DeleteObject());
     
    // Et enfin, on coupe ce qui dépasse du vecteur
    VI.erase(coupe_a_partir, VI.end());
    Et voil� pour une variante du dit erase-remove idiom adapt� � un vecteur de pointeurs bruts.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

Discussions similaires

  1. [langage] Supprimer un élément dans une liste
    Par myjuna dans le forum Langage
    R�ponses: 15
    Dernier message: 06/08/2014, 11h49
  2. [VB.NET][listbox] Comment supprimer un element ?
    Par am.adnane dans le forum Windows Forms
    R�ponses: 5
    Dernier message: 11/07/2006, 00h28
  3. Supprimer une valeur dans un vecteur
    Par jalilv6 dans le forum Langage
    R�ponses: 2
    Dernier message: 06/04/2006, 09h33
  4. [Collections] classer les elements d'un vecteur
    Par smariteau dans le forum Collection et Stream
    R�ponses: 1
    Dernier message: 31/01/2006, 12h41
  5. supprimer un element d'un tableau vector
    Par boby61 dans le forum SL & STL
    R�ponses: 22
    Dernier message: 23/03/2005, 20h49

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