Podaj przykłady adresowania przez referencje (c++) chodzi o funkcje. I wyjasnij sposob dzialania. daje naj. ale szybko!
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
Rozważmy funkcje `foo` o następującej deklaracji:
void foo (int a, int &b, const int &c );
Co możemy o niej powiedzieć na pierwszy rzut oka to to, że przyjmuje trzy argumenty typu całkowietego, ale nie o tym teraz.
Przyjrzyjmy się argumentowi `a`.
Co takiego ciekawego możemy o nim powiedzieć, otóż to, że jest on przekazywany przez kopię. Oznacza to tyle, że w tej sytuacji na stosie tworzony jest nowy obiekt identyczny jak ten podany jako argument funkcji. Ważnym jest że wszystkie zamiany jakie zostaną w niego wprowadzone nie odzwierciedlą się w obiekcie oryginalnym.
Przejdźmy teraz do argumentu `b`.
Nie jest on tak jak to miało miejsce w przypadku `a` kopiowany, ale tworzona jest doniego referencja. Znaczy to tyle, że tak na prawde mamy w tej sytuacji do czynienia z tym samym obiektem jaki został podany podczas wywołania funkcji i wszystkie zmiany które go dotyczą dotyczą także oryginału.
Argument `c` natomiast
różni się tym od b, że zablokowane są na nim wszelakie operacje mogace zmienić jego stan.