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

Linux Discussion :

Std::vector et les pointeurs


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Points : 13
    Points
    13
    Par défaut Std::vector et les pointeurs
    bonjour
    j'ai un petit problème de vecteurs que je vous expose :

    c'est un soft de gestion audio.
    j'ai un vecteur de "SoundFile" (une classe dans laquelle j'ai toutes les infos d'un fichier)
    et une bibliotheque qui contiens des pointeurs vers les elements du vecteur.

    mon problème c'est que les adresses éléments du veteur semblent changer et les pointeurs deviennent donc dangereux et inutilisables.

    je voulais juste savoir si cela etait normal que les adresses des elements du vecteur changent lors de l'ajout d'un élément. a ce moment je pourais créer ma bibliotheque apres avoir remplis le vecteur.
    ce qui me chagrinne c'est que ca me le fait que depuis 3heures (c'est le temps qu'il m'a falu pour trouver le bogue) en effet avant je n'avais pas ce problème, les adresses ne changeaient pas.

  2. #2
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Si tu continues à ajouter ou retirer des éléments à ton vecteurs, oublie tout de suite.
    pointeurs et itérateurs vers les éléments sont invalidés avec quantités d'opérations.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    je voulais juste savoir si cela etait normal que les adresses des elements du vecteur changent lors de l'ajout d'un élément
    Oui.
    Si cela ne changeait pas, c'était parce que la capacité du vecteur était supérieure au nombre d'éléments stockés.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Points : 13
    Points
    13
    Par défaut
    oki merci. la seule chose qui change pas c'est donc l'iterateur d'un élément si je rajoute toujours a la fin du vecteur avec un push_back.

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

Discussions similaires

  1. Eliminer les doublons d'un std::vector
    Par Mat26_ dans le forum SL & STL
    Réponses: 6
    Dernier message: 04/10/2007, 12h19
  2. [STL]std::vector<?> pointeur problème
    Par Vincent157 dans le forum SL & STL
    Réponses: 13
    Dernier message: 04/07/2007, 10h21
  3. [gsoap] Problème avec les std::vector
    Par LePhasme dans le forum SL & STL
    Réponses: 1
    Dernier message: 25/04/2006, 11h46
  4. Libération de pointeurs dans un std::vector
    Par G dans le forum SL & STL
    Réponses: 17
    Dernier message: 06/04/2005, 22h37
  5. Réponses: 8
    Dernier message: 26/08/2004, 18h59

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