Les variables de référence en C ++

Déclarer une variable qui est une référence facile. Alors que le pointeur utilise un astérisque, *, la référence utilise une esperluette, . Mais il ya une torsion à elle. Vous ne pouvez pas simplement déclarer comme ceci:

int BestReference- // Non! Cela ne fonctionnera pas!

Si vous essayez, vous voyez une erreur qui dit BestReferencedeclaredasreferencebutnotinitialized. Cela ressemble à un soupçon: On dirait que vous avez besoin de l'initialiser.

Oui, les références doivent être initialisés. Comme son nom l'indique, référence se réfère à une autre variable. Par conséquent, vous devez initialiser la référence de sorte qu'il se réfère à une autre variable, comme ceci:

int ImSomebody-int BestReference = ImSomebody-



Maintenant, à partir de ce moment, pour toujours jusqu'à la fin de l'éternité (ou tout au moins aussi longtemps que la fonction contenant ces deux lignes court), la variable BestReference se référer à - dire, être un alias pour - ImSomebody.

Et donc, si vous tapez

BestReference = 10

Ensuite, vous aurez vraiment être mise ImSomebody à 10. Alors jetez un oeil à ce code qui pourrait aller à l'intérieur d'un main ():

int ImSomebody-int BestReference = ImSomebody-BestReference = 10 cout lt; lt; ImSomebody lt; lt; endl-

Lorsque vous exécutez ce code, vous voyez la sortie

10

Autrement dit, la mise en BestReference à 10 cause ImSomebody pour passer à 10, que vous pouvez voir lorsque vous imprimez sur la valeur de ImSomebody.

Voilà ce que fait une référence: Il se réfère à une autre variable.

Parce que une référence renvoie à une autre variable, ce qui implique que vous ne pouvez pas avoir une référence à juste un nombre, comme dans INTX = 10. Et, en fait, la ligne incriminée a été impliqué: Vous n'êtes pas autorisé à le faire. Vous ne pouvez avoir une référence qui fait référence à une autre variable.


» » » » Les variables de référence en C ++