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

 C++ Discussion :

référence ou pointeur


Sujet :

C++

  1. #1
    storm_2000
    Invité(e)
    Par défaut référence ou pointeur
    Bonjour,
    je suis en train de m'entrainer au développement de classe C++ mais j'ai des petit problème.
    je n'arrive pas à comprendre deux choses :
    - quand je passe des paramètres à une méthodes il faut envoyer des constantes (bcp mieux), mais faut-il envoyer des pointeurs ou des références ?
    - quand je retourne des valeurs après un appelle de méthode est il mieux de retourner des pointeurs ou des références ?


    merci

  2. #2
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 556
    Points : 588
    Points
    588
    Par défaut
    Tout dépend de la sémantique que tu veux.

    En règle général, pour les constantes, on passe les types primitifs par valeur et les objets par référence constante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void function( int i, const Object& o );
    Pour ce qui est du choix entre un pointeur nu et une référence, il vaut mieux toujours passer par une référence, ça te garanti que l'objet passé existe bien.

    Pour ce qui est du retour, tout dépend de la sémantique.

    Si tu renvoi une membre interne de ta classe et que celui-ci a pour volonté d'être modifié de l'extérieur, alors tu passeras une référence. Si c'est toujours une variable interne mais qu'il ne doit pas être modifié de l'extérieur, tu renverras une référence constante.

    Si c'est une variable interne à ta méthode, alors tu renvois toujours par valeur (constante ou pas, ça n'a pas d'importance, sauf peut-être pour la lecture, mais perso je préfère pas. Ca laisse sous-entendre sans raison qu'on ne veut pas que la personne modifie cette valeur, alors qu'on s'en fout). Mais ne jamais renvoyer de référence à une variable interne à ta méthode ! C'est une variable temporaire qui sera détruite à la fin de la méthode.

Discussions similaires

  1. [cours] référence ou pointeurs ?
    Par Invité dans le forum Débuter
    Réponses: 6
    Dernier message: 16/11/2010, 13h39
  2. Compteur de référence et pointeurs communs
    Par Montor dans le forum Contribuez
    Réponses: 2
    Dernier message: 04/12/2009, 19h40
  3. Réponses: 2
    Dernier message: 30/08/2009, 10h55
  4. Différence entre référence et pointeur ?
    Par Vivian Pennel dans le forum Langage
    Réponses: 3
    Dernier message: 03/08/2007, 17h19
  5. Références et pointeurs sur un tableau
    Par smag dans le forum C++
    Réponses: 2
    Dernier message: 01/03/2005, 20h29

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