引用變量是一個(gè)別名,即已經(jīng)存在的變量的另一個(gè)名稱(引用就是某一個(gè)變量的別名)。一旦用一個(gè)變量初始化引用,變量名稱和引用名稱都可以用來(lái)指示變量。
引用與指針非常容易混淆,但引用和指針有三個(gè)主要區(qū)別:
考慮到一個(gè)變量名是一個(gè)附加到該變量在內(nèi)存中的位置的標(biāo)簽。你可以認(rèn)為一個(gè)引用是附加到該內(nèi)存位置的第二個(gè)標(biāo)簽。因此,您可以通過原始變量名或引用來(lái)訪問變量的內(nèi)容。例如,我們假設(shè)有下面的例子:
int i = 17;
我們可以為 i 聲明引用變量,如下所示。
int& r = i;
在這些聲明中將 & 理解為引用(reference)。因此,第一個(gè)聲明理解為 “ r 是一個(gè)整數(shù)引用,初始化為 i ” 和第二聲明理解為 “ s 是一個(gè)雙引用,初始化為 d ”。下面的例子使用了 int 和 double 引用:
#include <iostream>
using namespace std;
int main ()
{
// declare simple variables
inti;
double d;
// declare reference variables
int&r = i;
double& s = d;
i = 5;
cout << "Value of i : " << i << endl;
cout << "Value of i reference : " << r << endl;
d = 11.7;
cout << "Value of d : " << d << endl;
cout << "Value of d reference : " << s << endl;
return 0;
}
將上面的代碼放在一起編譯、執(zhí)行,執(zhí)行結(jié)果如下 :
Value of i : 5
Value of i reference : 5
Value of d : 11.7
Value of d reference : 11.7
引用通常用于函數(shù)參數(shù)列表和函數(shù)返回值。以下是與 c++ 引用有關(guān)的兩個(gè)重要的方面,一個(gè) c++ 程序員應(yīng)該明確了解:
內(nèi)容 | 描述 |
---|---|
引用作為參數(shù) | c++ 支持引用作為函數(shù)參數(shù)傳遞,它比直接傳遞參數(shù)更安全。 |
引用作為返回值 | 可以從一個(gè) c++ 函數(shù)返回引用,就像返回任何其他數(shù)據(jù)類型。 |