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

Langage C++ Discussion :

[Langage] Modifier une valeur d'un vector


Sujet :

Langage C++

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Par défaut [Langage] Modifier une valeur d'un vector
    Voila, question toute bete. Je voudrais modifier une valeur d'un vector (deja rempli) sans avoir a faire de copie, du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    const Widget& w = myVector.back();
    Or comme la valeur recuperee doit etre const (Widget& w = myVector.back(); est incorrect), comment faire pour modifier une ou des valeurs d'un vector sans recopie (hormis mettre des pointeurs dans le vector) ?

    Merci pour vos éclaircissements.

  2. #2
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Tu n'as besoin du const que si myVector est lui-même const; et dans ce cas je ne vois pas pourquoi tu le modifierais.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Par défaut
    Ah OK, mais je pensais que la valeur de retour d'une fonction en C++ etait une reference temporaire et que donc, elle ne pouvait etre stockee que dans une ref const ?

  4. #4
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Ca c'est si la variable est locale à la fonction. Là la variable appartient à la classe, donc sa durée de vie est plus grande que celle de la fonction.

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Par défaut
    Ah ok, merci beaucoup.

  6. #6
    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
    L'opérateur [], les itérateurs, etc. renvoient tous des références qui te permettent de modifier les éléments...

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 22/05/2006, 09h17
  2. Réponses: 5
    Dernier message: 21/04/2006, 14h49
  3. Réponses: 4
    Dernier message: 29/03/2006, 08h22
  4. modifier une valeur dans une hash
    Par chaabane dans le forum Langage
    Réponses: 1
    Dernier message: 17/03/2006, 10h59
  5. [C#] Modifier une valeur dans une DataTable
    Par Scorff dans le forum ASP.NET
    Réponses: 2
    Dernier message: 23/05/2005, 10h45

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