Fonction passage par valeur et passage par adresse
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Fonction passage par valeur et passage par adresse



  1. #1
    invitebdab7514

    Fonction passage par valeur et passage par adresse


    ------

    Bonjour à tous,

    Il m'est demandé d'écrire un début de fonction en C++ dont le premier paramètre est passé par valeur et le second par adresse.

    Ce serait je pense de la forme par exemple :
    fonction (int V, int A)

    (v pour valeur et a pour adresse)

    Je m'inspire de ces sites pour un début de code ou d'algorithme :

    1) https://fr.m.wikibooks.org/wiki/Prog..._ou_par_valeur

    2)
    http://usthb.orgfree.com/seti1/seti1...-1/CHAP1-2.htm

    3)
    https://www.est-usmba.ac.ma/ALGORITH...r%C3%A9sultats.

    Mais à part ça je n'ai pas d'idée de la suite :/

    Si quelqu'un peut m'aider ne serait-ce qu'un peu ce serait super, car j'aimerai mieux comprendre cette notion qui n'est pas la plus facile pour débuter en programmation :')

    -----

  2. #2
    invitebdab7514

    Re : Fonction passage par valeur et passage par adresse

    Finalement je pense qu'on nous a demandé moins compliqué que ce que je pensais, donc je pense avoir compris :

    void fonction(int valeur1, int &valeur2)
    {
    //instruction
    }

    Je me suis embrouillé avec d'autres algorithmes et les différentes syntaxes de programmation (var...)

    Je pensais qu'il fallait faire un code plus complet.

    Désolé du dérangement et du bref passage, ce post pourra toujours servir à quelqu'un, que sais-je...

  3. #3
    polo974

    Re : Fonction passage par valeur et passage par adresse

    Citation Envoyé par Lunasa Voir le message
    Finalement je pense qu'on nous a demandé moins compliqué que ce que je pensais, donc je pense avoir compris :

    void fonction(int valeur1, int &valeur2)
    {
    //instruction
    }
    Là, tu déclare un passage par référence (C++), pas par pointeur...

    par pointeur, c'est:
    Code:
    void fonction(int valeur1, int *valeur2)
    {
         // code de la fonction
    }
    (au passage, utilise la balise code (bouton # en édition avancée)
    Jusqu'ici tout va bien...

  4. #4
    pm42

    Re : Fonction passage par valeur et passage par adresse

    Citation Envoyé par polo974 Voir le message
    Là, tu déclare un passage par référence (C++), pas par pointeur...
    Le primo-posteur ne parle jamais de pointeur mais de passage par adresse et les références en C++ correspondent exactement à ça. C'est d'ailleurs un pointeur à part qu'il ne peut pas varier ce qui les rend beaucoup plus surs pour cette usage justement.
    Dernière modification par pm42 ; 09/12/2020 à 09h04.

  5. A voir en vidéo sur Futura
  6. #5
    Jack
    Modérateur

    Re : Fonction passage par valeur et passage par adresse

    Ce qui est un peu gênant, c'est qu'en C++ passage par adresse et par référence sont 2 syntaxes différentes. Si un passage par adresse est demandé, peut-on proposer un passage par référence?

    Sinon, effectivement, si on a le choix, le passage par référence est à privilégier.

  7. #6
    pm42

    Re : Fonction passage par valeur et passage par adresse

    Citation Envoyé par Jack Voir le message
    Ce qui est un peu gênant, c'est qu'en C++ passage par adresse et par référence sont 2 syntaxes différentes. Si un passage par adresse est demandé, peut-on proposer un passage par référence?
    Le passage par référence est un passage par adresse. Il n'y a aucune autre façon de modifier un objet quand on le passe à une fonction.
    Historiquement, on utilisait des pointeurs mais cela à l'inconvénient de ne pas faire la différence entre "je passe par adresse 1 entier que je veux pouvoir modifier" et "je passe par adresse le 1er élément d'un tableau d'entier".
    Comme dit, une référence c'est un pointeur qui pointe toujours au même endroit.

  8. #7
    Jack
    Modérateur

    Re : Fonction passage par valeur et passage par adresse

    Je sais bien que le passage par référence sous-tend l'utilisation de pointeur. Cependant, ce sont 2 syntaxes différentes, tant à l'appel que dans l'entête de la fonction.
    Je préfère donner 2 noms différents à ces 2 syntaxes pour qu'il n'y ait pas de confusion.

  9. #8
    pm42

    Re : Fonction passage par valeur et passage par adresse

    Citation Envoyé par Jack Voir le message
    Je préfère donner 2 noms différents à ces 2 syntaxes pour qu'il n'y ait pas de confusion.
    Je comprends mais je préfère les appeler "passage par pointeur" et "passage par référence" qui sont 2 cas en C++ du concept plus général de "passage par adresse".

    Ceci dit, on emploie aussi "passage par référence" ou "passage par adresse" un peu indifféremment dans certains langages où le concept de pointeur n'est pas explicite comme Java (et où le concept de référence est encore autre chose).

  10. #9
    polo974

    Re : Fonction passage par valeur et passage par adresse

    Citation Envoyé par pm42 Voir le message
    Le primo-posteur ne parle jamais de pointeur mais de passage par adresse et les références en C++ correspondent exactement à ça. C'est d'ailleurs un pointeur à part qu'il ne peut pas varier ce qui les rend beaucoup plus surs pour cette usage justement.
    c'est vrai que j'ai interprété adresse au sens pointeur, et non au sens référence, les 2 sont justes. c'est le terme adresse qui est flou...

    (la doc ibm (c'est pas des rigolos) parle de "pass-by-pointer" et de "pass-by-reference", jamais de "pass-by-address".)
    Jusqu'ici tout va bien...

Discussions similaires

  1. Passage par adresse de paramètre dans une fonction, un doute me taraude...
    Par mweber dans le forum Programmation et langages, Algorithmique
    Réponses: 16
    Dernier message: 05/03/2018, 10h37
  2. Retour multiple via passage de paramètres par adresse, langage C
    Par invite08100636 dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 17/12/2015, 23h14
  3. dérivée partielle d'une fonction f(x,y)-passage en coordonnées polaires
    Par invitececc7402 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 18/05/2013, 17h09
  4. petite question passage de fonction
    Par invite4e9186a9 dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 11/05/2007, 19h01
  5. Passage fonction définie en paramétrique à fonction implicite ?
    Par invite9e01212f dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 27/03/2007, 23h38