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

SL & STL C++ Discussion :

copie vector


Sujet :

SL & STL C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Par défaut copie vector
    Bonjour,

    Dans mon programme, j'ai un objet de type vecteur déclaré de la façon suivante:
    j'aimerais savoir s'il existe une fonction permettant de copier les éléments situé dans mon objet A[0] dans mon objet A[1] et vice versa.

    Je ne sais pas si c'est très clair...

  2. #2
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Sinon je n'ai pas bien compris ta question !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Par défaut
    Oui c'est à peu près çà, mais est il possible de faire une inversion entre ce qui est contenu dans A[0] et ce qui est contenu dans A[1] (A[0] devient A[1] et A[1] devient A[0]) sans être obligé de créer un objet temporaire?

  4. #4
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Interchanger les deux "cases" dans le vector?

    EDIT:ce message vient après celui de niglo!

  5. #5
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Il y aura forcément un objet temporaire.

    Quant à savoir si on peut ne pas l'implémenter nous même et laisser faire le prog grâce à une méthode de la classe vector je ne sais pas.

  6. #6
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Citation Envoyé par Vips
    Oui c'est à peu près çà, mais est il possible de faire une inversion entre ce qui est contenu dans A[0] et ce qui est contenu dans A[1] (A[0] devient A[1] et A[1] devient A[0]) sans être obligé de créer un objet temporaire?
    Je ne connais pas de méthode permettant d'interchanger 2 éléments sans passer par un troisième élément temporaire.

    Sinon, tu peux imaginer un truc dans ce genre (qui utilise "à moitié" un objet temporaire) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    vector<adherent> A;
    A->Push_Back(A[0]);
    A[0]=A[1];
    A[1]=A[A.size];
    A->Pop_Back();
    Biensûr pour faire cela, il te faut veiller à avoir un accès unique à ton vecteur. pour cela, tu peux utiliser des mutex!

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 159
    Par défaut
    Euh ! non,

    Mais tu peux te faire une fonction swap et mieux, la faire template.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void swap(adherent & a, adherent &b)
    {
    adherent tmp = a;
    a = b;
    b = tmp;
    }
    //voir std::swap

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Ou alors utiliser celle qui existe déjà...


  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Par défaut
    Ok, merci, il existe donc bien une fonction pour interchanger directement. Même si les autres propositoins étaient pas mal non plus.

  10. #10
    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
    Tu ne chercherais pas à trier ton vecteur des fois ?
    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...

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Par défaut
    Si, en quelques sortes. Chaque adherent à un nom de famille et je dois classer ses personnes par ordre alphabétique.

  12. #12
    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
    C'est bien ce que je me disais. Si le but de ton exo n'est pas d'impléménter un tri, regarde donc la FAQ vu que std::sort est défini en C++ et que la FAQ en traite.
    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...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème entre boost::array std::copy et les vector
    Par Davidbrcz dans le forum Boost
    Réponses: 4
    Dernier message: 27/03/2008, 19h20
  2. vector<maClasse> et copie
    Par tnarol dans le forum SL & STL
    Réponses: 5
    Dernier message: 06/03/2008, 19h33
  3. [Vector] Copie des éléments lors d'un push_back() ?
    Par 5kippy dans le forum SL & STL
    Réponses: 4
    Dernier message: 22/11/2007, 11h11
  4. copie de <vector>
    Par dev0077 dans le forum C++
    Réponses: 1
    Dernier message: 05/10/2007, 22h19
  5. Copie de 2 vectors STL
    Par cjacquel dans le forum SL & STL
    Réponses: 2
    Dernier message: 07/12/2006, 21h20

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