Задать вопрос
@Matvey_Mt

Что означает *&?

Всем привет.
Правильно ли я понимаю что, *&(ссылка на указатель) допустим вот такой функции:
void foo(int *&arr, int const size) {
    
}

делает тоже самое что и передача простого int по ссылке в функцию? Ну т.е. мы можем внутри функции присвоить указателю новый массив и это изменение будет актуально не только в области видимости этой функции, но и во всей программе?
  • Вопрос задан
  • 227 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Решения вопроса 1
Nipheris
@Nipheris Куратор тега C++
делает тоже самое что и передача простого int по ссылке в функцию?

Скорее всего вы не очень удачно выразились, поэтому попробую догадаться: да, передача ссылки на int, ссылки на float, ссылки на int* и ссылки на float** ничем принципиально не отличается. В обоих случаях вы получаете идентификатор, в кторый можно присваивать значение того типа, на которое у вас ссылка (т.е. int, float, указатель на int, указатель на указатель на float), и это значение попадёт в ту область памяти, которая была "завёрнута" в ссылку при вызове функции. Это может быть как обычная переменная, так и какой-нибудь разыменованный указатель.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы