Комбинированная передача аргументов в С++

Если у функции несколько аргументов, часть из них (или все) могут переда­ваться по ссылке, а часть - по значению. Пример комбинированной передачи аргументов приведен ниже.
#include 
using namespace std;
//Аргумент передается по ссылке и по значению:
void change(int &m, int n){
int k;
k=n;
n=m;
m=k;
cout<<"m =" << m << endl;
cout<<"n =" << n << endl;
}
int main(){
int m=3,n=5;
change(m,n);
cout << "m =" << m << endl;
cout << "n =" << n << endl;
return 0;
}
У функции change() два целочисленных аргумента: -первый передается по ссылке, а второй передается по значению. Действие функции состоит в том, что значения аргументов меняются местами: первому аргументу при­сваивается значение второго аргумента и наоборот. Но поскольку по ссылке передается только первый аргумент, то изменяется значение только этого аргумента - второй остается неизменным. Обращаем внимание на то, что наличие оператора & перед именем аргумента - всего лишь инструкция для определения механизма передачи аргумента. Это не влияет на способ обращения к аргументу или использования аргумента в теле функции.

Оставить комментарий

Вы должны быть авторизованы , чтобы оставить или оценить комментарий.

Онлайн всего: 4
Гостей: 3
Пользователей: 1

STUDLAB Сообщить про опечатку на сайте