обозначает ли & (любая переменная) адрес переменной?
Да.
Что такое ссылки?
Проще говоря, ссылки - это просто псевдонимы. Это означает, что p
- это просто еще один способ ссылаться на на a
. Любые изменения, внесенные вами в p
или a
, будут отражены в другом. Однако вы не можете переназначить ссылочную переменную на что-то другое. Ссылки инициализируются только один раз и затем используются повторно.
Пример:
int main()
{
int a=55;
int &p = a; //p is referring to a
p++; // a = 56, p = 56
a = 100; // a = 100, p = 100
//address of both are same as well
cout << &a << '\n';
cout << &p << '\n';
int x = 33;
p = &x; // error
&p = x; // error, can't change
p = x; //ok, but now a = 33, p = 33, (p is not referring to x)
}