Ampersand i gwiazdka w wywołaniu funkcji w c++

0

Ampersand służy do wyciagnięcia adresu ze zmiennej, gwiazdka do wyłuskania wartości znajdującej się pod wskaźnikiem. Tj. Wskazywanej przez ten wskaźnik.

A co daje użycie obu w wywołaniu funkcji. Tzn. Użytej w liście parametrów funkcji?

Np. Moja_funkcja(int *& zmienna);

Co to daje, jakie są zastosowania?

Dzięki!

5

Zarówno * jak i & mają różne znaczenia w różnym kontekście.
int *a; <--- wskaźnik na int
Obj a; *a; <---- wywołanie funkcji Obj::operator*

int a; &a; <--- pobranie adresu obiektu a
int &a = b; <---- referencja do obiektu typu int

Moja_funkcja(int *& zmienna);
A to jest referencja na wskaźnik.

3

<a href="http://stackoverflow.com/questions/24718874/what-is-the-difference-between-and-in-c>Przekazanie wskaźnika przez referencję</a>

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