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 :

Passage par r�f�rence/pointeur


Sujet :

C++

  1. #1
    Membre �prouv�
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par d�faut Passage par r�f�rence/pointeur
    Je suis curieux de savoir, selon vous, quels sont les crit�res qui motivent le choix entre un pointeur et une r�f�rence au moment d'ajouter une m�thode � un objet.

    Par exemple :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    void Collection::AjouterObjet( Objet & o );
    void Collection::AjouterObjet( Objet * o );
    Quels questions vous posez-vous avant de choisir l'une ou l'autre ?

  2. #2
    R�dacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Mai 2007
    Messages
    11 517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par d�faut
    Citation Envoy� par NiamorH Voir le message
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    void Collection::AjouterObjet( Objet & o );
    void Collection::AjouterObjet( Objet * o );
    Pour moi :
    si o = NULL a un sens (s�mantique) alors je passe un pointeur sinon je passe une r�f�rence
    Raymond
    Vous souhaitez participer � la rubrique R�seaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs syst�me et r�seau � configurer leurs �quipements SNMP r�seau.
    e-verbe Un logiciel de conjugaison des verbes de la langue fran�aise.

    Ma page personnelle sur DVP
    .

  3. #3
    Expert confirm�

    Homme Profil pro
    Ing�nieur syst�mes et r�seaux
    Inscrit en
    F�vrier 2007
    Messages
    4 253
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Ing�nieur syst�mes et r�seaux
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par d�faut
    Pareil...
    Si dans les pr�dicats o doit �tre non null... alors on passe une r�f�rence
    Maintenant, ca d�pend du code... COM est pas tr�s utilisateur de r�f�rences... et je ne sais m�me pas si il y a une convention d'appel (de d�coration) cross-compiler pour le passage de r�f�rences....

  4. #4
    Membre �m�rite
    Avatar de Spout
    Profil pro
    Ing�nieur syst�mes et r�seaux
    Inscrit en
    F�vrier 2007
    Messages
    904
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France, Val d'Oise (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur syst�mes et r�seaux

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 904
    Par d�faut
    J'utilise les pointeurs quand je n'ai pas d'autre choix. L'exemple du param�tre qui peut �tre NULL est un cas. Mais sinon, d�s que je peux, j'utilise des r�f�rences. Cela permet de limiter tous les probl�mes li�s � l'utilisation des pointeurs et qui ont attrait � la gestion de la m�moire.

  5. #5
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    J'ai l'impression que nous sommes tous d'accord pour ne passer un pointeur que dans le cas o� l'on souhaite passer la valeur NULL en param�tre. D'ailleurs cela peut impliquer d'avoir cette valeur par d�faut:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    void Collection::AjouterObjet( Objet * o =NULL);
    Le passage par r�f�rence apporte un peu plus de s�curit� dans le d�r�fencement de l'objet (beaucoup moins de probabilit� de passer une adresse invalide) et donc fiabilise ton code.

  6. #6
    R�dacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supa�ro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Ing Supa�ro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par d�faut
    FAQ.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une tr�s bonne doc sur le C++ (en) Why linux is better (fr)

Discussions similaires

  1. Pointeurs et passage par r�f�rence
    Par stephan1609 dans le forum D�buter
    R�ponses: 5
    Dernier message: 08/08/2012, 16h43
  2. Passage par r�f�rence versus par pointeur
    Par Seabast888 dans le forum D�buter
    R�ponses: 14
    Dernier message: 14/09/2009, 18h17
  3. R�ponses: 13
    Dernier message: 05/09/2008, 18h44
  4. R�ponses: 10
    Dernier message: 27/06/2008, 14h16
  5. Probl�me tr�s rapide de passage par r�f�rence
    Par Noxexplorer dans le forum ASP
    R�ponses: 2
    Dernier message: 23/06/2005, 10h02

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