• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed zmienna referencyjna do zmiennej referencyjnej

Object Storage Arubacloud
0 głosów
764 wizyt
pytanie zadane 5 sierpnia 2019 w C i C++ przez enigmatycznyclay Bywalec (2,450 p.)
zamknięte 6 sierpnia 2019 przez enigmatycznyclay

Otóż mam takie pytanie. Czy tworząc zmienną referencyjną(1), której przypisuję inną zmienną referencyjną(2) która jest referencją do jakiejś standardowej zmiennej(3), to czy zmienna ref(1) staje się bezpośrednio referencją zmiennej(3) czy może odwołując się do zmiennej ref(1) program będzie pośrednio przeskakiwał między referencjami aż natrafi na wskazywany obiekt? Dla przykładu taki fragment kodu:

int a = 10;
int& ref1 = a;
int& ref2 = ref1;
int& ref3 = ref2;
int& ref4 = ref3;
int& ref5 = ref4;

Co by się stało gdyby któraś z tych referencji zniknęła po całym tym ciągu przypisań? Czy ostatnia referencja z tego ciągu nadal bez problemu wskazywałaby cel? Oczywiście mógłbym to sprawdzić sam ale w wielu kwestiach jest tak, że program w teorii działa, ale w praktyce nie należy tak postępować z jakiegoś powodu. Z góry dziękuję za odpowiedź.

komentarz zamknięcia: rozwiązane

1 odpowiedź

0 głosów
odpowiedź 5 sierpnia 2019 przez adrian17 Ekspert (344,860 p.)
wybrane 5 sierpnia 2019 przez enigmatycznyclay
 
Najlepsza

Wszystkie referencje wskazują na tą samą zmienną `a`. To oznacza też że `&a == &ref1 == &ref5` etc.

Co by się stało gdyby któraś z tych referencji zniknęła po całym tym ciągu przypisań?

Dopóki oryginalny obiekt żyje, referencje na niego będą poprawne.

(są pewne szczególne przypadki w których referencja może wydłużyć życie obiektu, ale to raczej zbyt szczegółowe na to pytanie)

komentarz 5 sierpnia 2019 przez enigmatycznyclay Bywalec (2,450 p.)
Dzieki wielkie

Podobne pytania

0 głosów
2 odpowiedzi 793 wizyt
pytanie zadane 28 stycznia 2019 w C i C++ przez Michał_Warmuz Mądrala (5,830 p.)
0 głosów
2 odpowiedzi 140 wizyt
0 głosów
3 odpowiedzi 252 wizyt
pytanie zadane 31 lipca 2016 w C i C++ przez Avernis Nałogowiec (27,400 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...