C++引用與指針的關系
- 引用變量是一個别名,也就是說,它是某個已存在變量的另一個名字。一旦把引用初始化為某個變量,就可以使用該引用名稱或變量名稱來指向變量。
- 不存在空引用。引用必須連接配接到一塊合法的記憶體。
- 一旦引用被初始化為一個對象,就不能被指向到另一個對象。指針可以在任何時候指向到另一個對象。
- 引用必須在建立時被初始化。指針可以在任何時間被初始化。
牛客網上的參考回答:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPB5UeRRUTzcmeNBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLyczN2QTN0ETMyEzMwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
定義:
1、引用:
C++是C語言的繼承,它可進行過程化程式設計,又可以進行以抽象資料類型為特點的基于對象的程式設計,還可以進行以繼承和多态為特點的面向對象的程式設計。引用就是C++對C語言的重要擴充。引用就是某一變量的一個别名,對引用的操作與對變量直接操作完全一樣。引用的聲明方法:類型辨別符 &引用名=目标變量名;引用引入了對象的一個同義詞。定義引用的表示方法與定義指針相似,隻是用&代替了*。
2、指針:
指針利用位址,它的值直接指向存在電腦存儲器中另一個地方的值。由于通過位址能找到所需的變量單元,可以說,位址指向該變量單元。是以,将位址形象化的稱為“指針”。意思是通過它能找到以它為位址的記憶體單元。
C++使用引用
int i = 10;
典型例子:兩個值交換的函數
void swap(int& x, int& y) //此處若不加引用的
{
int temp;
temp = x; /* 儲存位址 x 的值 */
x = y; /* 把 y 指派給 x */
y = temp; /* 把 x 指派給 y */
return;
}
int main()
{
int a = 10,b = 20;
cout<<"交換前:"<<a<<","<<b<<endl;
swap(a,b);
cout<<"交換後:"<<a<<","<<b<<endl;
return 0;
}
結果應為:
交換前:10,20
交換後:20,10