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 :

[Recherche] Un équivalant a iterator._Ptr sous Linux.


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 19
    Par défaut [Recherche] Un équivalant a iterator._Ptr sous Linux.
    Hello, je recherche un équivalant a iterator._Ptr sous Linux, ayant développé mon application sous Windows, j'ai juste une erreur de compilation sur sa, et j'ai besoins de cette fonction ( si l'iterator n'est pas bon, un (*iterator) déclenche une exception).

    Merci

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut, et bienvenue sur le forum...

    Normalement, les noms et symboles commençant par _ sont réservés au standard et à son implémentation...

    Idéalement, tu n'aurais donc pas du utiliser _Ptr dans ton code

    Ceci dit, pourquoi baser ta logique sur le lancement (espéré) d'une exception lors de l'appel d'un comportement propre aux itérateurs

    Ne serait-il pas plus simple, et sans doute bien plus efficace, de faire un test afin de t'assurer que l'itérateur est valide
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 19
    Par défaut
    Et comment je peut vérifier sa ? étant donné que mon for() verifie déja si l'iterator n'est pas égal a list.end().

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par Izidor's Voir le message
    Et comment je peut vérifier sa ? étant donné que mon for() verifie déja si l'iterator n'est pas égal a list.end().
    Si tu es dans une boucle, tes itérateurs devraient être valides...

    Si tu manipule un conteneur de pointeurs (std::vector<type *> par exemple ) ton problème vient non pas du fait que ton itérateur est invalide, mais du fait que le pointeur l'est devenu...

    Et ca, ca signifie que tu as un delete qui traine quelque part où il n'aurait pas du se trouver

    Je commencerais donc par chercher tous les delete et par vérifier, soit que le pointeur est supprimé du conteneur, soit que le pointeur est mis à NULL.

    Dans le second cas, il s'agira alors de vérifier, avant d'invoquer la moindre méthode au départ du pointeur, si (*it) n'est pas nul
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 19
    Par défaut
    Justement, la vérification if(!*itr) provoque une exception :s
    Et non, malheureusement je n'est aucun delete.

  6. #6
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    Montre un bout de code minimale qui reproduise l'exception.. ça ira plus vite..

Discussions similaires

  1. Recherche API pour lecture port USB sous Linux
    Par pcouas dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 20/10/2013, 16h03
  2. recherche de site sur la programmation sous linux
    Par philmor34 dans le forum Linux
    Réponses: 1
    Dernier message: 02/07/2008, 12h13
  3. [Lazarus] Recherche l'équivalent de getRvalue sous Linux
    Par pilou63 dans le forum Lazarus
    Réponses: 2
    Dernier message: 10/05/2008, 11h55
  4. Recherche outil d'administration de mysql sous LINUX
    Par PamelaGeek dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 10/04/2006, 16h45
  5. Rechercher le source du projet NetFilter sous Linux
    Par Hirouchima dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 18/11/2005, 15h32

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