C++ Передача ссылок в качестве параметров
Мы уже обсуждали, как использовать указатели для реализации функций с передачей по ссылке. В следующем примере используются ссылки для реализации функций с передачей по ссылке.
Пример
#include <iostream>
using namespace std;
// Объявление функции
void swap(int& x, int& y);
int main ()
{
// Объявление локальной переменной
int a = 100;
int b = 200;
cout << "Перед swap, значение a:" << a << endl;
cout << "Перед swap, значение b:" << b << endl;
/*Вызовите функцию, чтобы поменять значения*/
swap(a, b);
cout << "После swap, значение a:" << a << endl;
cout << "После swap, значение b:" << b << endl;
return 0;
}
// Определение функции
void swap(int& x, int& y)
{
int temp;
temp = x; /*Сохраните значение по адресу x*/
x = y; /*Присвойте y переменной x*/
y = temp; /*Присвойте x переменной y*/
return;
}
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
交换前,a 的值: 100 交换前,b 的值: 200 交换后,a 的值: 200 交换后,b 的值: 100Другие расширения