Вызов функции C ++ по ссылке - PullRequest
0 голосов
/ 18 января 2020

Почему, когда вы делаете параметры ссылки на функцию в C ++, функция не работает со значениями памяти переменных? Это действительно нубский вопрос, но я не понимаю, почему, когда вы печатаете ссылку, она показывает значение памяти, но когда функция вызывает по ссылке, она работает с данными, которые есть в ссылке. Спасибо заранее!

1 Ответ

1 голос
/ 18 января 2020

Существует два случая:

  1. Когда вы объявляете объект как ссылку на определенный тип, & используется как часть спецификатора типа.
// double& is the type specifier
void func(double& value) {...}

double foo = 5;
func(foo);

В этом примере value можно считать «псевдонимом» foo;

Когда вы хотите получить адрес объекта, вы используете & в качестве address-of operator . &variable_name даст вам адрес variable_name.
...