Programmation c++

pelvis Deloney Takam -  
 marvinrouge -
Bonjour,
s'il vous plait j'aimerais savoir :quelle est la difference entre entre les pointeurs et les references en programmation C++?
Merci d'avence

2 réponses

  1. marvinrouge
     
    référence : indique que l'on a affaire à l'objet lui même dans une fonction (par exemple) et non à un e copie de l'objet

    pointeur : adresse de l'objet

    int fois2(int a) {
    a = a * 2; // a est une copie locale du paramètre
    return a;
    }

    int fois3(int& b) {
    b = b * 3; // b EST l'objet passé par en paramètre donc les modifications sur s'appliquent sur le paramètre
    return b;
    }

    int fois4(int* c) {
    *c = (*c) * 4; // c est une COPIE de l'adresse du paramètre, les modiciations sur c sont sans effet dans le main, les modifications sur *c ont un effet sur le paramètre du main dont l'adresse est c
    return *c;
    }

    void main(void) {
    int d = 1;
    int e = 1;
    int f = 1;
    cout << fois2(d); // affiche 2, d vaut toujours 1 (passé par copie à la fonction)
    cout << fois3(e); // affiche 3, mainteant e vaut 3 (passé par
    référence)
    cout << fois4(&f); // affiche 4, f vaut maintenant 4, car on a passé une copie de l'adresse de f (passage par adresse)
    }

    est-ce clair ?

    marvinrouge
    0