/* IFT1166 - démonstration #6 - exercice 2 14-octobre -2005 v1.01 M.Lokbani MàJ pour A05 à partir de ex-démo04 + gcc3.4.2, +comments 11-octobre -2003 v1.00 M.Lokbani écriture du programme pour exo1 contact: lokbani@iro.umontreal.ca Cette démonstration a pour but de vous donnez quelques astuces de programmation. Copyright (C) 2003-2005 Université de Montréal Département d'informatique et de Recherche Opérationnelle Mohamed Lokbani -- Tous Droits Réservés -- All Rights Reserved -- Description: ------------ Le but de cet exercice était de vous familiariser avec les passages: par valeur, par pointeur & par référence, d'une variable donnée à une fonction donnée. */ #include using namespace std; void f(int v, int* p, int & r) { // La variable v est a ete passée par valeur, sa durée de vie // est donc locale à la fonction f v = 120; // on modifie le contenu de p qui est un pointeur *p = 120; // on modifie la valeur de r qui est une référence r = 120; cout << v << " " << *p << " " << r << endl; // on obtient: 120 120 120 // en sortant de cette fonction: on perd la valeur de v, mais pas // les valeurs associées au pointeur p et à la référence r } int main() { int x = 500, y = 500, z = 500; // initialisation des variables // x est passé par valeur, y par pointeur, z par référence f(x, &y, z); cout << x << " " << y << " " << z << endl; // resultat obtenu est : // 500 120 120 return 0; } /* >demo06exo2 120 120 120 500 120 120 >Exit code: 0 */