Heyka, mam takowy problem:
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
int* number = new int;
*number = 10; //oznacza, że w wartośc zmiennej na którą wskazuje wskaznik wstawiam 10 tak ?
int &ref = *number; // co tutaj się dzieje ? wrzucam 10 poniewaz wyluskuje ale wrzucam to gdzie ?
*number = 9;//oznacza, że w wartośc zmiennej na którą wskazuje wskaznik wstawiam 9 tak ?
number = NULL; //zwalniam pamiec
printf("%d",ref);
//oraz ta też działa
int* number2 = new int;
*number2 = 10; //oznacza, że w wartośc zmiennej na którą wskazuje wskaznik wstawiam 10 tak ?
int ref1 = *number2;// a co tutaj ? pod raf'a wrzucam wartosc 10 bo wyluskuje
*number2 = 9; //oznacza, że w wartośc zmiennej na którą wskazuje wskaznik wstawiam 9 tak ?
number2 = NULL; //zwalniam pamiec
printf("%d",ref1);
system("pause");
return 0;
}
a zbytnio nie ogarniam różnicy pomiędzy tymi dwoma fragmentami kodu...
i dlaczego pierwszy wypisuje 9 a drugi 10 ?
ref
przypisujesz referencję do zmiennej, wskazywaną przez wskaźniknumber
. gwiazdka jest dlatego, że chcesz referencję do wskazywanej zmiennej, a nie referencję do wskaźnika.