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 :

Liste d'iterateur sur des listes.


Sujet :

C++

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Points : 751
    Points
    751
    Par défaut Liste d'iterateur sur des listes.
    Bien le bonjour,

    j'utilise dans mon code une liste d'iterator sur des listes (en fait, je parcours une liste d'entier, et je dois stocker la valeur et la position de certains elements de ma premiere liste, ce que je fais en stockant une liste d'iterateur.. est ce clair )

    je voulais savoir s'il y avait des precautions particulieres a prendre,et notamment, si je pouvais faire un
    sans risque...

    merci !

    (je precise que je n'ai pas a proprement parler un probleme, dans la mesure ou mon code marche, n'a pas l'air de se comporter bizzarement, mais on ne sait jamais..)

  2. #2
    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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Ca dépend de ce qu'est maListe... Celle d'entiers ou celle d'itérateurs ?

    En règle générale il n'y a aucun problème à stocker des itérateurs sur liste, ceux-ci n'étant invalidés par aucune opération autre que la suppression.

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Points : 751
    Points
    751
    Par défaut
    Si je pose la question c'est que c'est celle d'iterateur :-)

    en fait, a priori les iterateur sont des pointeurs un peu mieux géré, si je ne m'abuse. donc je voulais savoit si la fonction "clear" etait assez bien foutu pour effacer correctement les iterateurs...

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Points : 751
    Points
    751
    Par défaut
    en fait, au cas ou, je precise un peu. je fais un truc de ce genre :

    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
     
    list<int> L;
    list<list<int>::iterateur> L2;
     
    list<int>::iterateur it;
    list<list<int>::iterateur>::iterator kt;
    while(une certaine condition)
    {
       for(it=L.begin; it!=L.end();it++)
       {
          if((*it) verifie une certaine condition)
          {
             L2.push_back(it);
          }
       }
       for(kt=L2.begin;kt!=L2.end();kt++)
       {
          //je bidouille L a l'aide des iterateurs stockés dans L2
       }
       L2.clear(); // c'est la que ca m'inquiete
    }

  5. #5
    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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Les itérateurs sont des données externes à ta liste (assimilables à des pointeurs comme tu l'as dit), quoiqu'il arrive en détruisant un itérateur tu ne toucheras jamais à la donnée pointée ou à la liste. Donc tu peux faire à peu près tout ce que tu veux avec ta liste d'itérateurs.

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Points : 751
    Points
    751
    Par défaut
    Ok, merci :-) c'etait simplement mon instinct

    pointeur -> precautions supplementaires

    qui se mettait en place.

Discussions similaires

  1. pb sur des listes à 2 dimensions
    Par gerard tarquin dans le forum Général Python
    Réponses: 4
    Dernier message: 24/05/2007, 13h05
  2. Réponses: 5
    Dernier message: 27/02/2007, 12h43
  3. Réponses: 3
    Dernier message: 06/09/2006, 19h59
  4. Problème de rafraîchissement de post sur des listes
    Par Greggggggg dans le forum Langage
    Réponses: 7
    Dernier message: 21/08/2006, 15h32
  5. [Javascript] Question pas difficile sur des listes dynamique...
    Par mulbek dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/04/2006, 10h55

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