引用(reference)对象的别名。定义如下:type &id = object; 定义 &id为object的另一个名字。任何对id的操作都会转变为对object的操作。
看下面一段代码:
#include <iostream>
using namespace std;
int n = 5;
void swap(int& a, int& b) //C++中交换两个数字
{
int temp = a;
a = b;
b = temp;
return;
}
void swap(int* a, int* b) //C中交换两个数字
{
int temp = *a;
*a = *b;
*b = temp;
return;
}
int& SetValue() //返回类型为引用的函数
{
return n;
}
int main()
{
int a = 18;
int& r = a;
r = 91;
cout << "a=" << a << endl;
int b = 11;
cout << "a=" << a << " b=" << b << endl;
swap(a, b);
cout << "a=" << a << " b=" << b << endl;
swap(&a, &b);
cout << "a=" << a << " b=" << b << endl;
SetValue() = 40;
cout << "n=" << n << endl;
return 0;
}
注意:
1. 定义引用时一定要将其初始化成引用某个变量。2. 初始化后,它就一直引用该变量,不会再引用别的变量了。
3. 引用只能引用变量,不能引用常量和表达式。