引用(reference)相當於為對象起了另一個名字。該類型引用另外一種類型。引用標識符以"&"開頭。
1 int val = 180; 2 int &reference = val; //refVal指向ival 3 int &mistake; //錯誤:引用必須被初始化
通過上面的例子,可以看到一般在初始化變量時,初始值會被拷貝到新建的對象中。而定義引用時,程序則是把引用和它的初始值綁定在一起。一旦引用的初始化完成,綁定關系將一直存在,因此,引用必須初始化。
注意,引用即別名,它並不是一個對象。
1 int i = 10; 2 int &refi = i; 3 refi = 1; //即將1賦給了i 4 int a = refi; //相當於使a = i
引用的初始值必須是一個對象,且引用的類型必須與其對象嚴格一致,所以:
1 int &ref = 0; //錯誤 2 double a = 1.12; 3 int &refa = a; //錯誤