После прочтения описания замены адресов указателей в Stackoverflow у меня возник вопрос о синтаксисе C ++ для ссылок.
Если у вас есть функция со следующей подписью:
void swap(int*& a, int*& b)
Что означает int * &? Это адрес указателя на целое число? И, кроме того, поскольку это указатель, почему их не нужно инициализировать следующим образом?
void swap(int*& a, int*& b) : a(a), b(b) {}
Вот справочная публикация вопросов / ответов (ответ на интересующий вопрос):
Замена адресов указателей в c