Где амперсанд "&" может быть поставлен при передаче аргумента по ссылке?

В примерах, которые я видел, аргументы передавались по ссылке следующим образом:

void AddOne(int &y)

В коде, который у меня есть, я вижу следующий синтаксис:

void AddOne(int& y)

Интересно, одинаково ли это, или второй случай как-то отличается от первого.

Ответ 1

Оба одинаковы. Никакой разницы вообще.

Все, что имеет значение, состоит в том, что & должно быть между типом и именем переменной. Пространства не имеют значения.

So

void AddOne(int&  y);
void AddOne(int  &y);
void AddOne(int & y)
void AddOne(int   &     y);
void AddOne(int&y);

одинаковы!

Ответ 2

То же самое для языка, только разные условные обозначения кода

Ответ 3

Нет никаких различий между

void AddOne(int &y);

и

void AddOne(int& y);

и даже

void AddOne(int&y);

в С++, так как пробелы между фактическими токенами отбрасываются.