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++

  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...

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par loufoque
    MSDN c'est pas terrible comme doc...
    c'est mieux que rien... et ca permet de pas poser des questions quand on peut trouver tt seul une info facile :p

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