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 :

Comment savoir si un itérateur est initialisé ?


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 135
    Par défaut Comment savoir si un itérateur est initialisé ?
    bonjour, j'ai une fonction qui me renvoi un iterateur.
    et j'ai bien sur besoin de savoir si la fonction l'a initialiser, ou non.

    je voulais resoudre cela, par quelque chose d'equivalent, aux:
    string::npos chez les string
    ou NULL chez les pointeur ect....

    mais partout ou quelqu'un demander cella, la réponse n'était pas claire, ou plutôt
    fugueuse,: "si on a un iterateur c'est qu'on a avec quoi l'initialiser.."
    "que fait ta fonction.."

    moi ce qui me faudrait, c'est juste blabla iter = XXXXXXX;
    merci beaucoup

    bon samedi, a prague ça caille

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    L'équivalent du npos ou du NULL c'est bien entendu l'itérateur end.

  3. #3
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par loufoque Voir le message
    L'équivalent du npos ou du NULL c'est bien entendu l'itérateur end.
    Avec la caracteristique que cette valeur depend du conteneur sur lequel on la prend, les end() de deux conteneurs ne sont donc pas necessairement egaux. Suivant le contexte, ce peut etre important ou pas.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Avec la caracteristique que cette valeur depend du conteneur sur lequel on la prend, les end() de deux conteneurs ne sont donc pas necessairement egaux. Suivant le contexte, ce peut etre important ou pas.
    Ca permet de ne pas comparer un itérateur sur des choux avec un itérateur sur des carottes.

  5. #5
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Ca permet de ne pas comparer un itérateur sur des choux avec un itérateur sur des carottes.
    Je comprends tres bien le rationnel (ca permet de faire -- sur le resultat de end() par exemple), je pointe simplement vers une consequence de ce choix qui peut surprendre celui qui n'a fait que demander l'equivalent d'un npos ou d'un pointeur NULL et a qui on propose cette methode. Comme l'OP refuse de donner son contexte, c'est tout ce qu'on peut faire mais ca me semble le miminum.

  6. #6
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Je comprends tres bien le rationnel (ca permet de faire -- sur le resultat de end() par exemple), je pointe simplement vers une consequence de ce choix qui peut surprendre celui qui n'a fait que demander l'equivalent d'un npos ou d'un pointeur NULL et a qui on propose cette methode. Comme l'OP refuse de donner son contexte, c'est tout ce qu'on peut faire mais ca me semble le miminum.
    Tout à fait. Mais ça permet aussi de mettre en avant la force des itérateurs par rapport à NULL. On est obligé de comparer ce qui est comparable.

  7. #7
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 135
    Par défaut hmmm
    oui.........
    merci.

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

Discussions similaires

  1. Comment savoir si une variable est initialisée ?
    Par nabix dans le forum Général Python
    Réponses: 8
    Dernier message: 10/03/2005, 15h12
  2. Comment savoir si un Shell est terminé ?
    Par Mr Capone dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 21/02/2005, 17h05
  3. [Access] Comment savoir qu'un champs est vide ?
    Par Oberown dans le forum ASP
    Réponses: 9
    Dernier message: 25/10/2004, 10h47
  4. Unix - Comment savoir si un fichier est ouvert
    Par freddyboy dans le forum C
    Réponses: 7
    Dernier message: 06/10/2004, 15h53
  5. Comment savoir qu'une fonction est standard ?
    Par D[r]eadLock dans le forum C
    Réponses: 5
    Dernier message: 24/03/2003, 14h42

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