Bonjour,
dans la faq C++, il y a un paragraphe intitulé Que se passe-t-il en cas de retour d'une référence lors de l'appel d'une fonction ?
Mais a vrai dire je ne suis pas sur de bien comprendre.
L'exemple donné est celui de l'opérateur Array::operator [](int):
J'aimerais avoir une confirmation si je comprends bien, et quelques précisions si possible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
si je comprends bien, la ligne
déclare une fonction qui se nomme "operator[]", qui prend un entier comme paramètre d'entrée, et qui retourne une référence sur un float?
Code : Sélectionner tout - Visualiser dans une fenêtre à part float& operator[] (int index);
Bon, ensuite quand on écrit a[i], c'est comme si on avait écrit a.operator[](i) je suppose...
alors "a[i]" est remplacé par la valeur de retour de la fonction, soit une référence (qui est une référence sur la ième valeur contenue dans a, ce qui nous permet de la modifier par le "= 7" puisqu'en modifiant une référence, on modifie le référent!)
Est-ce bien ça qui se passe?
merci

 

 
		
		 
         
 

 
			
			


 
			 
   


 retour d'une référence lors de l'appel d'une fonction
 retour d'une référence lors de l'appel d'une fonction
				 Répondre avec citation
  Répondre avec citation
Partager