Вопрос по ссылкам в с++
Я нашла книгу где написано что при создании ссылки ее нужно инициализировать и что после этого ей нельзя присвоить другое значения. Но я всегда присваивала другое значения:
int main()
{
int a = 10;
int& b = a;
b= 18;
std::cout<<a;
std:;cout<< b;
int c= 90;
b = c;
std::cout<<a;
std::cout<< b;
std::cout<< c;
return 0;
}
Что я не так понимаю?
Ответы (1 шт):
Смотрите - ссылка - это псевдоним другой переменной.
Вы НЕ МОЖЕТЕ сделать ее псевдонимом некоторой иной переменной, кроме как только той, которая указана при инициализации. Т.е. вы не можете изменить ее именно как ссылку. В этом смысле вы не можете "присвоить" (я бы предпочел - "назначить") ей другую переменную.
Вы МОЖЕТЕ присваивать ей другое значение, но это будет присвоением нового значения переменной, на которую она ссылается.
Так понятнее? Просто на русском языке высказать это кратко, одним словом - не получается.