Указатель на ссылку?

245
04 мая 2018, 12:44

Имеется такое определение ф-ции:

void uploadData(Person *& persons, int & size, std::string path)

Что означает *&? Это указатель на ссылку? Всмысле в функцию передается адрес по которому находится ссылка на объект? Если выделить память под это, то изменятся ли данные, на которые первоначально указывала ссылка? Зачем подобное вообще применяется?

Answer 1

Это ссылка на указатель. Чтоб было понятнее, используем typedef:

typedef Person* Pperson;
Pperson p;
uploadData(p,...);

Т.е. при изменении p в функции изменения затронут и передаваемую переменную.

READ ALSO
Переход с boost signal к boost signal 2

Переход с boost signal к boost signal 2

Я собираюсь использовать boost::signal для того, чтобы после принудительного завершения программы (ctrl+с) сохранялись данные в БД,закрывались сокеты...

197
Задача на С++ “Книга”

Задача на С++ “Книга”

Миша иногда читал книгиНо и это он делал странным способом: начинал он всегда с первой страницы и читал ежедневно ровно столько страниц, сколько...

231
Ошибка исполнения. Проблема с векторами. c++

Ошибка исполнения. Проблема с векторами. c++

Я пытаюсь создать вектор состоящий из векторов целых чисел, где в каждом из N элементов, есть три различных элементаПри запуске данного кода...

218
Взаимодействие с мышкой в 3D игре на С\C++ под Win

Взаимодействие с мышкой в 3D игре на С\C++ под Win

Есть команда на С++ - SetCursorPos(X,Y);, которая позволяет перемещать мышку по экрануТо есть, вводишь определенные координаты и курсор мышки перемещается...

206