Вопрос по ссылкам в с++

Я нашла книгу где написано что при создании ссылки ее нужно инициализировать и что после этого ей нельзя присвоить другое значения. Но я всегда присваивала другое значения:

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 шт):

Автор решения: Harry

Смотрите - ссылка - это псевдоним другой переменной.

Вы НЕ МОЖЕТЕ сделать ее псевдонимом некоторой иной переменной, кроме как только той, которая указана при инициализации. Т.е. вы не можете изменить ее именно как ссылку. В этом смысле вы не можете "присвоить" (я бы предпочел - "назначить") ей другую переменную.

Вы МОЖЕТЕ присваивать ей другое значение, но это будет присвоением нового значения переменной, на которую она ссылается.

Так понятнее? Просто на русском языке высказать это кратко, одним словом - не получается.

→ Ссылка