Сообщение Re[4]: Вопрос про ссылки - что бы сломалось, если... от 10.07.2024 13:29
Изменено 10.07.2024 13:42 rg45
Re[4]: Вопрос про ссылки - что бы сломалось, если...
Здравствуйте, andrey.desman, Вы писали:
AD>Здравствуйте, rg45, Вы писали:
BFE>>>Ссылка — это второе имя переменной (в отличии от ссылочного типа). В map не кладут имена переменных. В map кладут значения переменных.
R>>Ну вот зачем ты это пишешь? Чтобы еще больше запутать его? А когда ссылка является результатом выражения, например std::max(42, 43) где там какое имя?
AD>Так это тип, а не ссылка.
Конечно же, у результата есть тип. Но есть же и сам результат — та самая ссылка. Есть временный объект, к которому привязана ссылка. И это можно даже визуализировать:
Можно еще добавить примеров:
Имя есть у переменной. Но переменная — это не единственная форма существования ссылок.
AD>Здравствуйте, rg45, Вы писали:
BFE>>>Ссылка — это второе имя переменной (в отличии от ссылочного типа). В map не кладут имена переменных. В map кладут значения переменных.
R>>Ну вот зачем ты это пишешь? Чтобы еще больше запутать его? А когда ссылка является результатом выражения, например std::max(42, 43) где там какое имя?
AD>Так это тип, а не ссылка.
Конечно же, у результата есть тип. Но есть же и сам результат — та самая ссылка. Есть временный объект, к которому привязана ссылка. И это можно даже визуализировать:
std::cout << std::max(42, 43) << std::endl;
Можно еще добавить примеров:
auto ptr = std::make_unique<int>(42);
std::cout << *ptr << std::endl;
Имя есть у переменной. Но переменная — это не единственная форма существования ссылок.
Re[4]: Вопрос про ссылки - что бы сломалось, если...
Здравствуйте, andrey.desman, Вы писали:
AD>Здравствуйте, rg45, Вы писали:
BFE>>>Ссылка — это второе имя переменной (в отличии от ссылочного типа). В map не кладут имена переменных. В map кладут значения переменных.
R>>Ну вот зачем ты это пишешь? Чтобы еще больше запутать его? А когда ссылка является результатом выражения, например std::max(42, 43) где там какое имя?
AD>Так это тип, а не ссылка.
Конечно же, у результата есть тип. Но есть же и сам результат — та самая ссылка. Есть временный объект, к которому привязана ссылка. И это можно даже визуализировать:
Можно еще добавить примеров:
Выражение *ptr здесь вычисляется в ссылку (и конечно же, у этой ссылки есть тип — int&).
Имя есть у переменной. Но переменная — это не единственная форма существования ссылок.
AD>Здравствуйте, rg45, Вы писали:
BFE>>>Ссылка — это второе имя переменной (в отличии от ссылочного типа). В map не кладут имена переменных. В map кладут значения переменных.
R>>Ну вот зачем ты это пишешь? Чтобы еще больше запутать его? А когда ссылка является результатом выражения, например std::max(42, 43) где там какое имя?
AD>Так это тип, а не ссылка.
Конечно же, у результата есть тип. Но есть же и сам результат — та самая ссылка. Есть временный объект, к которому привязана ссылка. И это можно даже визуализировать:
std::cout << std::max(42, 43) << std::endl;
Можно еще добавить примеров:
auto ptr = std::make_unique<int>(42);
std::cout << *ptr << std::endl;
Выражение *ptr здесь вычисляется в ссылку (и конечно же, у этой ссылки есть тип — int&).
Имя есть у переменной. Но переменная — это не единственная форма существования ссылок.