Объявление ссылки и передача ее так же, как передача по ссылке? - PullRequest
3 голосов
/ 28 мая 2020

Допустим, у вас есть такая функция:

void func(int & arg) {
    std::cout << arg << std::endl;
}

Выполняет что-то вроде:

int x = 10;
int & y = x;

func(y);

то же, что:

int x = 10;

func(x)

Делает arg станет int && arg или останется int & arg, когда вы передадите заранее объявленную ссылку, как в первом случае?

1 Ответ

5 голосов
/ 28 мая 2020

Да, они такие же. Как ссылка ,

Объявляет именованную переменную как ссылку, то есть псевдоним для уже существующего объекта или функции.

Вы y можно рассматривать как псевдоним x, передача y функции func имеет тот же эффект, что и прямая передача x.

...