0/5 (4 avis)
Vue 25 919 fois - Téléchargée 263 fois
#include <iostream.h> // Structure de test struct essai { int n; float x; }; // Prototype des fonctions utilisées void AfficheStruct(essai Essai); void InitParAdresse(essai *pE); void InitParReference(essai &pE); void main(void) { essai ex; ex.n = 10; ex.x = 224.75; AfficheStruct(ex); cout<<endl; // Initialisation à zero des variables de la structure par pointeur InitParAdresse(&ex); AfficheStruct(ex); cout<<" --> Initialisation faite par adresse."<<endl; cout<<endl; ex.n = 10; ex.x = 224.75; AfficheStruct(ex); cout<<endl; // Initialisation à zero des variables de la structure par reference // On voit ici que l'écriture du param de "InitParReference" n'est plus // l'adresse (comme en pointeur) la structure elle-meme. L'ecriture est donc // plus compréhensive et source de moins d'erreur. Le passage par reference // permet co les pointeurs de changer les valeurs de la struct. InitParReference(ex); AfficheStruct(ex); cout<<" --> Initialisation faite par reference."<<endl; cout<<endl; char c; cout<<"Appuyez sur une touche puis sur la touche 'entree' pour quitter."<<endl; cin>>c; } // Affiche les valeurs des variables de la structure void AfficheStruct(essai Essai) { cout<<">--Structure de type essai--<"<<endl; cout<<"Valeur de n: "<<Essai.n<<endl; cout<<"Valeur de x: "<<Essai.x<<endl; } // Initialisation des valeurs des variables de la structure par pointeur void InitParAdresse(essai *pE) { pE->n = 0; pE->x = 0.0; } // Initialisation des valeurs des variables de la structure par reference void InitParReference(essai &pE) { pE.n = 0; pE.x = 0.0; }
20 janv. 2008 à 03:38
21 janv. 2003 à 18:47
C'est vrai que je n'explique nul part la difference entre pointeurs et references! Mais en fait je ne voulais pas faire un tutoriel mais simplement un exemple permettant de voir comment mettre en application rapidement la notion de reference ou de pointeur. J'ai mis ma source dans "tutoriaux" mais en fait je ne savais pas ou la mettre... car elle est seulement un exemple et non un tutoriel.
Haldwin.
21 janv. 2003 à 14:10
Cependant, tu n'expliques pas la différence. Pourquoi utiliser un pointeur? quels sont les différences de propriétés entre un pointeur et une référence?
21 janv. 2003 à 11:57
alors que le pointeur peut se déplacer vers d'autres objets...
cf :
http://www.cppfrance.com/article.aspx?Val=1058
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.