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 :

[STL] vecteur et reference


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut [STL] vecteur et reference
    salut a tous,

    si je rentre un object dans un vecteur et que je enregistre une reference (std::vector::reference), depuis std::vector::back(), sur cet object...

    ...et que par la suite je rajoute des elements dans le vecteur, est-ce que la reference pointe tojours sur le meme object ( le premier entré dans le vecteur) ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    [strike]il me semble que cela n'est pas invalidant, a moins que l'objet référencé ne soit lui meme supprimé... la, normal.[/strike]
    autant pr moi, je n'étais pas sur de ce que j'avançais...

    cela dit, pourquoi tu ne fais pas le test directement ?
    et pourquoi n'utilises tu pas d'itérateurs ?

  3. #3
    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
    Lorsque tu ajoutes un élément ton tableau va peut-être s'agrandir, c'est-à-dire être réalloué ailleurs en mémoire. Donc toute référence / pointeur / itérateur sur un élément du tableau devient invalide.

    Deux solutions :
    - Stocker l'indice de l'élément
    - Utiliser un conteneur qui n'invalide pas ses éléments (std::list par exemple)

  4. #4
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par Laurent Gomila
    - Utiliser un conteneur qui n'invalide pas ses éléments (std::list par exemple)

    mais c 'est genial ca !

    Ca veut dire que tout reste valide (ref & iterateur) independaemment les operations faire sur des elements du conteneur...

    Au fait comment ou as tu appris cette informations ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ZaaN
    Au fait comment ou as tu appris cette informations ?
    www.msdn.com par exemple ?!

    encore une fois, le test manuel reste facile a réaliser... c'est un bon exercice pour découvrir la stl si tu n'es pas familier

  6. #6
    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
    En général on trouve toutes ces informations dans les docs de référence :
    http://c.developpez.com/faq/cpp/?pag...ERALITE_cppdoc

    On peut aussi les déduire du fonctionnement interne du conteneur. Par exemple pour une liste chaînée on sait que seuls les liens entre noeuds changent, les noeuds en eux-même ne bougent jamais en mémoire.

  7. #7
    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
    MSDN c'est pas terrible comme doc...

Discussions similaires

  1. Vecteur de reference ou Vecteur ?
    Par ADBows dans le forum Débuter
    Réponses: 2
    Dernier message: 13/12/2011, 23h40
  2. [STL] parcours d'un vecteur
    Par ZaaN dans le forum SL & STL
    Réponses: 7
    Dernier message: 26/06/2007, 14h48
  3. [STL] Manipuler des vecteurs de vecteur
    Par FabaCoeur dans le forum SL & STL
    Réponses: 6
    Dernier message: 28/04/2007, 20h09
  4. [STL Vector]Creation d'un vecteur 2D
    Par franc82 dans le forum SL & STL
    Réponses: 4
    Dernier message: 18/04/2007, 11h59
  5. [STL] vector et reference
    Par ZaaN dans le forum SL & STL
    Réponses: 4
    Dernier message: 10/04/2007, 14h47

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