Комбинированная передача аргументов в С++
Если у функции несколько аргументов, часть из них (или все) могут передаваться по ссылке, а часть - по значению. Пример комбинированной передачи аргументов приведен ниже.
У функции change() два целочисленных аргумента: -первый передается по ссылке, а второй передается по значению. Действие функции состоит
в том, что значения аргументов меняются местами: первому аргументу присваивается значение второго аргумента и наоборот. Но поскольку по ссылке передается только первый аргумент, то изменяется значение только этого аргумента - второй остается неизменным. Обращаем внимание на то, что наличие оператора & перед именем аргумента - всего лишь инструкция для определения механизма передачи
аргумента. Это не влияет на способ обращения к аргументу или использования аргумента в теле функции.
#includeusing 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; }