C++ 參考



引用變數是別名,也就是已經存在的變數的另一個名稱。一旦引用初始化為一個變數,就可以使用變數名或引用名來引用該變數。

引用與指標

引用經常與指標混淆,但引用和指標之間有三個主要區別:

  • 不能有空引用。你必須始終能夠假設引用連線到合法的儲存空間。

  • 一旦引用初始化為一個物件,就不能將其更改為引用另一個物件。指標可以隨時指向另一個物件。

  • 建立引用時必須對其進行初始化。指標可以在任何時候初始化。

在C++中建立引用

可以將變數名視為附加到變數在記憶體中位置的標籤。然後可以將引用視為附加到該記憶體位置的第二個標籤。因此,可以透過原始變數名或引用來訪問變數的內容。例如,假設我們有以下示例:

int i = 17;

我們可以宣告 i 的引用變數如下。

int& r = i;

將這些宣告中的 & 讀作 **引用**。因此,將第一個宣告讀作“r 是一個初始化為 i 的整型引用”,將第二個宣告讀作“s 是一個初始化為 d 的雙精度型引用”。以下示例使用了 int 和 double 的引用:

#include <iostream>
 
using namespace std;
 
int main () {
   // declare simple variables
   int    i;
   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;
}

當以上程式碼編譯並執行時,會產生以下結果:

Value of i : 5
Value of i reference : 5
Value of d : 11.7
Value of d reference : 11.7

引用通常用於函式引數列表和函式返回值。因此,以下兩個與 C++ 引用相關的主題對於 C++ 程式設計師來說應該很清楚:

序號 概念與描述
1 引用作為引數

C++ 支援將引用作為函式引數,比引數更安全。

2 引用作為返回值

您可以像任何其他資料型別一樣從 C++ 函式返回引用。

廣告