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 :

Flux d'entrée/sortie par référence.


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Flux d'entrée/sortie par référence.
    Bonjour,

    J'aimerais savoir pourquoi, en C++ les flux d'entrée/sortie (fstream, ostrem, etc.) doivent toujours être manipulés par référence, notamment lors du passage de paramètre à une fonction... pourquoi ne peut-on pas simplement passer un pointeur ou une copie de l'objet ?

    Merci d'avance.

    Cordialement,
    Max

  2. #2
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Tu peux passer par un pointeur plutot qu'une reference si tu veux, la reference est souvent plus pratique et correspond mieux a ce qu'on fait.

    Passer par valeur est impossible: les flux ne sont pas copiables (ca voudrait dire quoi copier un flux?)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup

  4. #4
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut, et bienvenue sur le forum.

    Pour compléter un tout petit peu la réponse de Jean-Marc, on peut te rappeler que les pointeurs peuvent être nuls alors que les références apportent une garantie de non nullité.

    Il n'y aurait donc aucun intérêt à passer un pointeur, simplement parce que cela t'obligerait à créer toute une logique capable de t'assurer de la non nullité du flux et de la gérer le cas échéant, alors que la référence t'offre toutes les garanties à ce sujet

    C'est d'ailleurs une des raisons pour lesquelles on déconseille généralement de passer les arguments sous la forme de pointeur dés que cela impliquerait de recourir à l'opérateur "&" (address of)

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

Discussions similaires

  1. [Runtime] Shell et flux d'entrée sortie
    Par Adrael dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 02/05/2014, 17h14
  2. Livre sur les flux d'entrée/sortie
    Par oodini dans le forum Livres
    Réponses: 3
    Dernier message: 04/04/2014, 17h41
  3. Réponses: 0
    Dernier message: 24/04/2012, 21h30
  4. Rediriger le flux d'entrée généré par la classe Robot
    Par Capashen dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 07/05/2008, 19h36
  5. [astuce] Comment passer des résultats en sortie par référence
    Par Hibou57 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/08/2007, 20h12

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