Передача параметров в функцию Способы передачи параметров в функцию по значению (пример1) по ссылке (пример2) На предыдущих занятиях мы передавали параметры в функцию по значению (хотя и не употребляли этот термин). Теперь познакомимся со вторым способом когда параметры передаются в функцию по ссылке. Сравним эти два приема. Пример 1. Пример 2. В примере 2 мы видим значок & (амперса́нд). Здесь он используется при объявлении параметра x и означает, что этот параметр передан в функцию по ссылке. Отличия. При передаче параметра по значению (пример 1) в момент вызова функции создается копия передаваемого параметра: формальный параметр x становится копией фактического параметра b функции f (рисунок 1). Поэтому, если переменная x изменяется, то это никак не сказывается на переменной b, она свое значение не изменит. Рисунок 1. b 5 b фактический параметр функции f x x формальный параметр функции f (копия фактического параметра) 5 При передаче параметра по ссылке (пример 2) формальный параметр x становится синонимом фактического параметра b, т.е. b и x это одна и та же переменная (рисунок 2). Поэтому, при изменении переменной x, будет изменяться и переменная b. Рисунок 2. b x b фактический параметр функции f 5 x формальный параметр функции f Использование параметров, передаваемых по ссылке: если функция возвращает более одного результата для быстрой передачи параметров (будет рассмотрено позднее) Бывают ситуации, когда необходимо, чтобы функция возвращала два и более значений. Согласно правилам языка С++, из функции можно возвратить только одно значение (с помощью оператора return) или вообще не возвращать никакого значения (тогда в заголовке функции указывается слово void). Пример 3. Предположим, что функция должна возвратить два значения. Тогда такая функция может быть оформлена следующим образом: Здесь параметр а передан в функцию по значению, параметры res1 и res2 по ссылке. Параметр а это входной параметр, который передается в функцию, а параметры res1 и res2 служат для того, чтобы в них хранились результаты вычислений (выходные параметры).