#cpp #ссылки
В учебнике написано, что любая ссылка должна быть определена в момент объявления,
и определена объектом, а не литералом. И её нельзя перевязать на другой объект. Из
любопытства сделал следующее:
{
int val = 20,val2 = 2;
int &refVal = val;
refVal = val2;
cout<
Ответы
Ответ 1
Дело в том, что ссылка это просто синтаксический сахар над указателями, поэтому,
если переписать Ваш код через них, должно быть понятно, что происходит:
{
int val = 20,val2 = 2;
int*const refVal = &val;
*refVal = val2;
cout<<*refVal<
Ответ 2
Ссылка это второе имя (псевдоним) переменной. Именно потому она обязательно должна
быть определена: вторым именем можно быть только если есть первое. Учитывая что в с++
любой тип данных - класс, и любая переменная объект - ваш код не противоречит словам
автора. Под литералом видимо подразумевалось строковая константа. (например "myLit")
Комментариев нет:
Отправить комментарий