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 :

[STD::Vector] - Question


Sujet :

SL & STL C++

  1. #1
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Points : 734
    Points
    734
    Par défaut [STD::Vector] - Question
    Bonjour,

    Dans un programme, j'utilise un vecteur d'objets (std::vector<objet>) pour stocker...
    des objets !

    Je voudrais savoir s'il est possible de stocker un pointeur vers l'un de ces objets.

    Par exemple, si j'ai un pointeur declaré comme ça :

    objet *pObjetFocus;

    Et qu'apres je fait (avec It un itérateur) :

    for (It=vecteur.begin();It<vecteur.end();It++)
    {
    if (untruc) pObjetFocus = &(*It);
    }

    Est-ce que je suis sur que pObjetFocus va toujours pointer sur le bon objet, ou est-ce qu'apres des insertions/suppressions dans le vecteur il est possible que l'adresse de l'objet ait changée ?

    Merci !

  2. #2
    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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Une opération sur un vecteur peut très bien faire en sorte que la mémoire soit réallouée ailleurs, tu ne peux donc pas garder de pointeur ou d'itérateur sur des éléments dans ce cas. Par contre tu peux stocker les indices de ces éléments. Tu peux aussi utiliser std::list, dont les éléments ne bougent jamais en mémoire.

  3. #3
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Points : 734
    Points
    734
    Par défaut
    Ok, je m'en doutais un peu, mais je voulais etre sur !

    Merci !

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

Discussions similaires

  1. question à propos d'un std::vector encapsuler
    Par Date90 dans le forum C++
    Réponses: 2
    Dernier message: 05/04/2009, 15h20
  2. Question sur std::vector
    Par FabaCoeur dans le forum SL & STL
    Réponses: 11
    Dernier message: 24/06/2007, 18h22
  3. char[50] et std::vector<>
    Par tut dans le forum SL & STL
    Réponses: 9
    Dernier message: 12/10/2004, 13h26
  4. Réponses: 8
    Dernier message: 26/08/2004, 18h59
  5. Sauvegarde std::vector dans un .ini
    Par mick74 dans le forum MFC
    Réponses: 2
    Dernier message: 12/05/2004, 13h30

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