Bonjour,
Je ne comprends pas pourquoi le &r ne contient pas une adresse ;
c'est è dire pourquoi on utilise pas int & r = *tab;Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int & r = *tab; r = 1024;
Bonjour,
Je ne comprends pas pourquoi le &r ne contient pas une adresse ;
c'est è dire pourquoi on utilise pas int & r = *tab;Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int & r = *tab; r = 1024;
Bonsoir,
où est la question ?
r est une référence, et un entier, pourquoi il devrait contenir une adresse ?
Sais-tu ce qu'est une référence ?
Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
Un peu de programmation réseau ?
Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.
Salut,
De manière générale, un tableau est assimilable à un pointeur vers pointeur vers son premier élément.
Autrement dit, si tu as un code proche de
tu peux tab comme s'il s'agissait de l'adresse à laquelle se trouve tab[0].
Code : Sélectionner tout - Visualiser dans une fenêtre à part int tab[10];
A partir de là, lorsque tu écris le code
tu déclares une référence sur un entier qui fait référence au premier élément du tableau (ou si tu préfères un alias de l'entier en question).
Code : Sélectionner tout - Visualiser dans une fenêtre à part int & r = *tab;
Du coup, lorsque tu vas modifier r, tu modifieras en réalité la valeur de tab[0]
Autrement dit, le code
est strictement équivalent au code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int & r = *tab; r = 1024;
et au code
Code : Sélectionner tout - Visualiser dans une fenêtre à part tab[0]= 1024;
(fais juste attention avec ce dernier code au fait que tu ne pourras accéder de la sorte qu'au premier élément du tableau, à moins de recourir à l'arithmétique des pointeurs )
Code : Sélectionner tout - Visualiser dans une fenêtre à part (*tab)=1024;
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager