C++11中新增了一种引用,即所谓的“右值引用”,这个以后补充。
引用为对象起了另外一个名字,引用类型引用另外一种类型。通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名:
int ival = 1024;
int &refVal = ival; // refVal指向ival(是ival的另一个名字)
int &refVal2; // 报错:引用必须被初始化
1. 定义引用时,程序把引用和它的初始值绑定在一起,而不是将初始值拷贝给引用。一旦初始化完成,不可更改。
2. 定义引用时一定要初始化。
3. 因为引用本身不是一个对象,所以不能定义引用的引用。
示例:
#include <iostream>
using namespace std;
int main()
{
int i = 0,&r1 = i;
double d = 0,&r2 = d;
r2 = 3.14159;
cout << "r2 = " << r2;
i = r2;
cout << "\ni = " << i;
r2 = r1;
cout << "\nr2 = " << r2;
r1 = d;
cout << "\nr1 = " << r1;
return 0;
}