Где амперсанд "&" может быть поставлен при передаче аргумента по ссылке?
В примерах, которые я видел, аргументы передавались по ссылке следующим образом:
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);
в С++, так как пробелы между фактическими токенами отбрасываются.