引用

2018-08-12 22:03 更新

引用

引用變量是一個別名,即已經(jīng)存在的變量的另一個名稱(引用就是某一個變量的別名)。一旦用一個變量初始化引用,變量名稱和引用名稱都可以用來指示變量。

C++ 引用 VS 指針

引用與指針非常容易混淆,但引用和指針有三個主要區(qū)別:

  • 空引用不可能存在。你必須始終能夠假定一個引用被連接到一個合法的存儲塊。
  • 一旦一個引用被初始化為一個對象,它就不能改變?nèi)ブ甘玖硪粋€對象。指針可以隨時改變指向另一個不同的對象。
  • 引用必須在它被創(chuàng)建時就初始化。指針可以在任何時候初始化。

在 c++ 中創(chuàng)建引用

考慮到一個變量名是一個附加到該變量在內(nèi)存中的位置的標(biāo)簽。你可以認(rèn)為一個引用是附加到該內(nèi)存位置的第二個標(biāo)簽。因此,您可以通過原始變量名或引用來訪問變量的內(nèi)容。例如,我們假設(shè)有下面的例子:

    int i = 17;   

我們可以為 i 聲明引用變量,如下所示。

    int& r = i;

在這些聲明中將 & 理解為引用(reference)。因此,第一個聲明理解為 “ r 是一個整數(shù)引用,初始化為 i ” 和第二聲明理解為 “ s 是一個雙引用,初始化為 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)的兩個重要的方面,一個 c++ 程序員應(yīng)該明確了解:

內(nèi)容 描述
引用作為參數(shù) c++ 支持引用作為函數(shù)參數(shù)傳遞,它比直接傳遞參數(shù)更安全。
引用作為返回值 可以從一個 c++ 函數(shù)返回引用,就像返回任何其他數(shù)據(jù)類型。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號