C++引用(參考)
C++的引用變量是彆名,也就是另一個名稱為一個已經存在的變量。引用變量初始化,無論是變量名或引用名可以用於指該變量。
C++引用VS指針:
引用經常和指針混淆,引用和指針之間有三個主要區彆:
-
不能有NULL引用。必須始終能夠假設一個參考連接到一個合法的一塊存儲。
-
一旦參考被初始化為一個對象,它不能被改變為引用另一個對象。指針可以在任何時候指向另一個。
-
在創建時引用必須初始化。指針可以隨時進行初始化。
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++程序員應該很清楚:
概念 | 描述 |
---|---|
引用作為參數 | C++支持傳遞引用的函數參數比參數更安全 |
引用作為返回值 | 可以從C++函數像任何其他數據類型可以返回返回引用 |