azeLe 12/01/2010 à 14:59
"n" est une référence, mais tu t'en fous. quoi qu'il arrive, pour n'importe quel accès à "n", la référence sera dé-référencée. Bon, quand tu passes une référence à une fonction qui prend une référence en entrée, il va juste copier la référence, pas dé-référencer pour prendre la référence derrière ou prendre une référence sur une référence.
D'ailleurs les références à des références n'existent pas : "int i; int &ref_i = i; int &&ref_ref_i = ref_i;" ne compile pas, contrairement au même code avec des pointeurs.
par contre ton code est vraiment très crade, avec plein d'effets de bord de partout.
les références non const pour les paramètres qui ne sont pas de sortie, c'est à éviter absolument !
mais je me suis mal exprimé. plutot que "valeur pointée", j'aurais du dire "objet pointé" (qui est un int dans ton cas), pour être plus exact