referencja przy wskaźniku

0

Witam, czy mógłby mi ktoś wyjaśnić dlaczego w poniższym kodzie jest referencja przy wskaźniku:

 void deleteMatrix2D(double**& macierz2d) {
     delete [] macierz2d[0];
     delete [] macierz2d;
      macierz2d = 0;
      }

Powyższa funkcja dot. innej funkcji alokującej miejsce w pamięci -> przykład z: http://edu.pjwstk.edu.pl/wyklady/pro/scb/PRG2CPP_files/node81.html

z góry dziękuję za pomoc w wyjaśnieniu!

0

Przeczytaj ten temat i zrozumiesz:
http://4programmers.net/Forum/C_i_C++/195028-funkcja_przeslanie_**wsk_nie_dziala_new_tablica

W skrócie: jeżeli chcesz zmienić adres na jaki wskazuje wskaźnik (a nie tylko to na co wskazuje) musisz przesłać go przez wskaźnik (kolejna gwiazdka) albo referencję.

0

i wszystko jasne... :)
podobnie jak kolega z odnośnika nie byłem świadom, że wskaźniki również są przekazywane do funkcji przez wartość i potrzeba im kolejnej gwiazdki/asm-czegoś tam :) (&)
Dzięki wielkie!!!

1 użytkowników online, w tym zalogowanych: 0, gości: 1