Próbuję zrozumieć referencję i jakoś mnie to przerasta. Napisałem taki kod:
#include <iostream>
using namespace std;
void podaj_liczbe(int *x) {
*x = 10;
return;
}
void podaj_inna_liczbe(int &x) {
x = 100;
return;
}
int main()
{
int liczba;
podaj_liczbe(&liczba);
cout << "Liczba 1:" << liczba << endl;
podaj_inna_liczbe(liczba);
cout << "Liczba 2:" << liczba << endl;
return 0;
}
I na moje oko obie obie funkcje działają tak samo. Ideę wskaźników rozumiem, za to ni cholery nie umiem zrozumieć idei referencji :(
Czy ktoś umie to jakoś przystępnie wyjaśnić, co się wtedy dzieje i porównać to z wersją ze wskaźnikiem, która jest logiczna i jasna. Na razie to referencja jawi mi się jako wskaźnik z ukrytym zapisem wskaźnika.