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 :

double iterator pour copy


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 141
    Par défaut double iterator pour copy
    Bonjour à tous,

    Dans le but d'effectuer une copy en C++, j'aimerais créer une map qui va contenir ma map que je veux copier. J'aimerais donc iterer sur deux map simulatement.

    Dans l'idée ca donne :



    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
     
     
     
    if(map_a_remplir!= NULL)
    	{
    		map_a_remplir->clear();
    	}
    	else
    	{
    		map_a_remplir= new MapOfStringDouble();
    	}
    for ((MapOfStringDouble::iterator iter_ret =map_a_remplir->begin(); iter_ret !=map_a_remplir->end(); iter_ret ++) && (MapOfStringDouble::iterator iter =map_a_copier->begin(); iter!=map_a_copier->end(); iter++))
    	{
    		iter_ret->first = iter->first;
    		iter_ret->second= iter->second;
    	}
    Auriez vous une idée?
    Merci à tous.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Une sorte de pari ne connaissant pas les types exacts de tes maps :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    *map_a_remplir = *map_a_copier;
    ?
    Au passage c'est bizarre de manipuler des maps par pointeurs...

    MAT.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 141
    Par défaut
    Salut,

    non ce que tu proposes est un copie shadow alors que je veux faire une copie profonde, c'est à dire prendre ce qu'il y a à l'interieur des pointeurs.

    Une precision mes map sont de types : map<string, double>

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Citation Envoyé par julien25 Voir le message
    (...) c'est à dire prendre ce qu'il y a à l'interieur des pointeurs.
    D'où le déréférencement avec * non ?

    MAT.

  5. #5
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 141
    Par défaut
    Salut,

    Je pense que ce que tu proposes doit en partie marcher avec le dereferencement.
    Cela dit, je préfère copier chaque partie de ma map (first, seconde) comme je l'ai dit plus haut.
    Par ailleurs ca me permettrais de comprendre comment faire ce double iterateur.

    Merci encore.

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Mais map_a_remplir est vide, il n'y a rien à itérer...
    Si vraiment tu veux le faire à la main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for( MapOfStringDouble::iterator iter = map_a_copier->begin(); iter != map_a_copier->end(); ++iter )
      map_a_remplir->insert( *iter );
    Mais bon c'est un peu absurde dans la mesure où une affectation directe fait au pire la même chose...

    MAT.
    ps : et oui, ça copie complètement vraiment profondément tout à fait le contenu

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

Discussions similaires

  1. double lien pour frame
    Par Fye-Tofe59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 27/08/2006, 23h38
  2. Double action pour un OnClick
    Par koKoTis dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/08/2006, 02h25
  3. [SQL] magic quotes ou double apostrophes pour échapper apostrophe
    Par zorian dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 13/03/2006, 16h23
  4. [C#] Double click pour agrandir la fenêtre... Problème
    Par Radium133 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/01/2006, 17h41
  5. double click pour soumission de formulaires
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/11/2005, 12h32

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