Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Różnica między "int** tmp", a "int*& tmp"

Ostatnio zmodyfikowano 2014-09-24 12:30
Autor Wiadomość
fokusx
Temat założony przez niniejszego użytkownika
Różnica między "int** tmp", a "int*& tmp"
» 2014-09-21 15:50:30
Jaka jest różnica między "int** tmp", a "int*& tmp".

Z tego co pamiętam, to int** tmp używałem tak samo jak int*& tmp...
P-117285
pekfos
» 2014-09-21 16:07:02
Z tego co pamiętam, to int** tmp używałem tak samo jak int*& tmp...
Podaj przykład.
P-117286
DejaVu
» 2014-09-21 16:21:33
efekt można ten sam uzyskać choć zapisy użycia będą zupelnie inne...
P-117287
b00rt00s
» 2014-09-24 12:30:14
Po kolei:
1. int* to typ zmiennej, która przechowuje (jej wartością jest) adres zmiennej typu int. Nazywa się to wskaźnik na na zmienną.
2. int** to innymi słowy wskaźnik na zmienną typu int*. Jej wartością jest adres zmiennej typu int*.
3. int& to referencja na zmienną typu int. Zachowuje się jak stały wskaźnik (
int * const
) na zmienną typu int, lecz ze zmienionym operatorem wyłuskania i bez operatora dereferencji.
3. int*& to referencja na zmienną typu int*.

Popatrz na ten kod:
C/C++
#include <iostream>


int main()
{
    using namespace std;
   
    int zmienna = 44;
    int * wskaznik_na_zmienna = & zmienna;
    int ** wskaznik_na_wskaznik = & wskaznik_na_zmienna;
    int *& referencja_na_wskaznik = wskaznik_na_zmienna;
   
    cout << "zmienna:" << endl << zmienna << ": wartosc zmiennej" << endl << endl;
   
    cout << "wskaznik na zmienna:" << endl << wskaznik_na_zmienna << ": adres zmiennej" << endl << endl;
   
    cout << "wartosc zmiennej wskazywanej przez wskaznik " << endl <<* wskaznik_na_zmienna << ": wartosc zmiennej" << endl << endl;
   
   
    cout << "wskaznik na wskaznik " << endl << wskaznik_na_wskaznik << ": adres wskaznika na zmienna" << endl << endl;
   
    cout << "wartosc zmiennej wskazywanej przez wskaznik na wskaznik " << endl <<* wskaznik_na_wskaznik << ": adres zmiennej!" << endl << endl;
   
    cout << "referencja na wskaznik " << endl << referencja_na_wskaznik << ": znowu adres zmiennej!" << endl << endl;
   
    cout << "wartość zmiennej wskazywanej przez referencję na wskaznik " << endl <<* referencja_na_wskaznik << ": znowu wartosc zmiennej!" << endl;
}

Przeanalizuj go, to zrozumiesz o co chodzi.
P-117415
« 1 »
  Strona 1 z 1