Указатели и ссылки (Прошу помочь разобраться в "чтении" этого добра) [C++]
Помогите новичку разобраться) Для начала распишу как я "читаю" код в компиляторе. Допустим у меня есть:
int a=0;
int b=10;
a=b;
Заострю внимание на: "a=b" и прочитаю я это как: значению переменной "а" присвоить значение переменной "b". После чего значение "a" станет равно 10.
Вообщем. Возьмем к примеру ссылку.
int a = 5;
int &b = a; //b - ссылка на а
b = 10; //в а тоже стало 10
Как я понял с помощью амперсанда мы получаем настоящий адрес переменной, а не её буквенный синоним. int &b=a;
Я прочитал бы как: адресу переменной b
присвоить ЗНАЧЕНИЕ переменной a
. То бишь вместо адреса к примеру 0x22ff08
у меня будет просто 5 (И по адресу 5 естественно никакого числа бы уже не было). Но это как я понимаю) А на деле то оказывается, что читать нужно как: адресу переменной b
присвоить a
, а именно саму БУКВУ "a", но не в коем случае не её содержание. Я правильно это понял? И никак не могу понять почему везде мы пишем одинаково, но к примеру когда я пишу b=a
это значит что я приравниваю значение этих переменных, а когда int &b=a;
, то тут уже адресу присваиваю именно букву. У меня просто начинает припекать уже почему все понимают, а я не понимаю. Пожалуйста помогите разобраться.