Le passage par reference.

Signaler
Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
-
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
Dans un livre de programmation ils parlent de retourner un objet par reference ou encore de passage de parametres par reference.

J'aimerai bien savoir ce que veulent dire ces deux expressions. ( vous inquietez pas je sais tres bien ce qu'es un objet et un parametre ! C'est juste ce mot reference. )

salut et merci !

Adeon

5 réponses

Messages postés
224
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
18 octobre 2010

un truc du genre:
object& get_parent(object& o);
Messages postés
224
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
18 octobre 2010

Oups j'ai omis le '?' à la fin.
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
En gros ca veut dire que tu passe l'objet lui même et non pas un copie
comme cela est fait par défaut. En fait ca revient a utiliser un
pointeur, sauf qu'en fait tu n'utilisa pas de pointeur, mais c'est la
même idée. Ca veut donc dire qu'un objet passé en référence pourra être
modifié, et l'appelant obtiendra l'objet modifié.
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Vecchio56> "tu passe l'objet lui même...", je te reprend, tu ne passe pas l'objet lui meme, mais l'adresse de l'objet (risque de mal comprendre)

Adeon> un passage par référence n'est rien de plus qu'une forme évolué des pointeurs qui évite lors de l'appelle de fonction de se trainée des "&" devant les variable passé par pointeurs.
Sinon niveau puissance, je pense qu'il n'y a pas de différence avec les pointeurs, ca reste toujours un push de 4 octets.

Shell
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Tu passe son adresse, peut être, mais l'utilisateur lui il n'en sait
rien et c'est justement ca la différence avec l'utilisation des
pointeurs, c'est qu'on n'a pas besoin de savoir comment c'est fait.
Mais c'est sur que c'est traduit sous forme d'indirections, mais on n'a
jamais besoin de faire nous même un indirection sur un objet passé par
référence