Скажем, у вас есть функция, которая изменяет переменную.
Если вы пишете это так: void myfunc(int *a) или как это void myfunc(int &a)?
Первая заставит вас вызвать функцию с помощью myfunc(&b), чтобы вызывающий абонент знал, что b будет изменен, но последний будет короче и может быть вызван просто с помощью myfunc(b). Так что лучше использовать? Есть ли что-то еще, что мне не хватает?