Partage

Question/precision sur les references

Sujet résolu
24 août 2018 à 15:18:07

Bonjour,

Je suis en train de suivre le cours de C++.

dans le chapitre "Les classes (1/2)" il y a cette fonction :

void attaquer(Personnage &cible)

d'après ce qui est dit le paramètre est une reference.

Mais de ce que j'ai vu (et peut etre mal compris) plus tot ca devrait  etre "Personnage& cible" pour etre une reference, non ?

si on écrit "Personnage &cible" c'est plutot demander l'adresse de cible (pour un pointeur).

Une reference et une adresse c'est la meme chose ? Le placement de l'esperluette (&) n'a pas d'importance ?

J'ai rien compris ?

Merci de m'apporter vos lumieres

-
Edité par sylvain89 24 août 2018 à 15:21:56

Vous êtes demandeur d'emploi ?
Sans diplôme post-bac ?

Devenez Développeur web junior

Je postule
Formation
en ligne
Financée
à 100%
24 août 2018 à 16:03:36

sylvain89 a écrit:

Une reference et une adresse c'est la meme chose ? 

Non

sylvain89 a écrit:

Le placement de l'esperluette (&) n'a pas d'importance ?

Oui. (Et plus généralement, les espaces et retours a la ligne ne sont pas important en C++)

sylvain89 a écrit:

si on écrit "Personnage &cible" c'est plutot demander l'adresse de cible (pour un pointeur).

& dans un type (par exemple dans la declaration d'une variable ou d'un parametre) = reference.

& devant une variable = address-of

Pour poser des questions ou simplement discuter informatique, vous pouvez rejoindre le discord NaN.
24 août 2018 à 16:45:00

OK merci, ca a l'air plus clair maintenant.

Donc pour resumer dans une déclaration, on peut écrire les deux formes (type& truc) ou (type &truc) ca revient sensiblement au meme ?

C'est un peu comme pour les pointeurs, si j'écris (type* truc) c'est similaire a (type *truc) lors d'une declaration.

C'est juste si je fais des declarations multiples sur un seule ligne il vaut mieux utiliser la notation avec l'esperluette accolee a la variable (ou autre)

ex:

type &truc, &machin;

C'est ca ?

Merci.

24 août 2018 à 16:49:56

On ne fait plus de déclaration multiple sur une seule ligne en C++ moderne.

Justement pour éviter ces embrouilles.

Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
24 août 2018 à 17:01:39

Et plus généralement, en programmation "moderne", on ne se fait plus chier avec les syntaxes ambiguës : s'il y a risque d'erreur a la lecture ou la compréhension, on ne fait pas. C'est aussi simple que ca.
Pour poser des questions ou simplement discuter informatique, vous pouvez rejoindre le discord NaN.

Question/precision sur les references

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown