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

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

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

делает тоже самое что и передача простого int по ссылке в функцию? Ну т.е. мы можем внутри функции присвоить указателю новый массив и это изменение будет актуально не только в области видимости этой функции, но и во всей программе?
  • Вопрос задан
  • 224 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
Nipheris
@Nipheris Куратор тега C++
делает тоже самое что и передача простого int по ссылке в функцию?

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

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

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