天天看點

C++引用與指針的關系C++引用與指針的關系

C++引用與指針的關系

  • 引用變量是一個别名,也就是說,它是某個已存在變量的另一個名字。一旦把引用初始化為某個變量,就可以使用該引用名稱或變量名稱來指向變量。
  • 不存在空引用。引用必須連接配接到一塊合法的記憶體。
  • 一旦引用被初始化為一個對象,就不能被指向到另一個對象。指針可以在任何時候指向到另一個對象。
  • 引用必須在建立時被初始化。指針可以在任何時間被初始化。

牛客網上的參考回答:

C++引用與指針的關系C++引用與指針的關系

定義:

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
           

繼續閱讀