Próbuję więc poznać C++ i natknąłem się na coś, co mnie zastanawia. Mam kod,Wyjaśnienie odniesień w C++
int x = 0;
int &y = x;
cout << &x<< " " << x << " " << &y << " " <<y<< endl;
To kompiluje i wyniki w:
0 003AFA08 0 003AFA08
Co mam kłopoty ze zrozumieniem, dlaczego konwersja x, int, aby & y, punkt odniesienia, nie powoduje błąd. Najpierw myślałem, że to była jakaś konwersja jednak wyniknie błąd.
Czy ktoś może wyjaśnić, dlaczego to działa w ten sposób? Z góry dziękuję.
Więc chcesz wiedzieć, dlaczego operator wstawiania strumienia '<<' może uszeregować adres zmiennej jako numeryczny łańcuch szesnastkowy, ale nie możesz przypisać adresu 'int' (z typem' int * ') do 'int &'? – bobbymcr
Domyślam się, że to '003AFA08 0 003AFA08 0' – onemach