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 :

Adresse de l'élément correspondant à *iterator


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 3
    Par défaut Adresse de l'élément correspondant à *iterator
    Bonjour,

    Je souhaite obtenir l'adresse de l'élément vers lequel pointe un *iterator, je pense que ce sera plus facile sur un exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    list<int> listI;
        int entier=10;
        listI.push_back(entier);
        list<int>::iterator iterEntier=listI.begin();
        cout<<endl<<"L'entier : "<<&entier<<" et par l'itérator  "<<&(*iterEntier)<<endl<<"Et sa valeur "<<*iterEntier<<endl<<endl;
    dans ce cas &entier et &(*iterEntier) ne sont pas égaux.

    Y-a-t-il une solution de remplacement pour &(*iterEntier) qui permettent de comparer les deux valeurs?


    Merci d'avance

  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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Normal, l'itérateur ne pointe pas réellement vers la variable entier, c'est une copie de celle-ci qui est stockée dans la liste.

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 3
    Par défaut
    Merci, je comprends mieux certains de mes problèmes...

    J'ai essayé de modifier les données d'itérateurs et "étonnament" lorsque je sors de la fonction ces modifications disparaissent...


    Par contre il n'y a pas d'autre solutions que d'utiliser des listes de pointeurs pour régler ce problème? j'aimais bien utiliser directement mes listes d'objet...

  4. #4
    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
    Si tu veux que la liste référence des variables qui existent ailleurs alors il faudra obligatoirement des pointeurs.

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 3
    Par défaut
    Comme un boulet je viens de découvrir le list.push_back(new Objet) avec list<Objet*>


    Et tout de suite tout de suite tout fonctionne beaucoup mieux....



    Merci beaucoup Laurent

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/08/2009, 18h03
  2. Réponses: 1
    Dernier message: 27/11/2008, 14h00
  3. Réponses: 2
    Dernier message: 08/10/2008, 13h08
  4. Réponses: 4
    Dernier message: 26/04/2006, 17h43
  5. Réponses: 1
    Dernier message: 18/01/2006, 17h51

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