一、引用的定義
引用是給另外乙個變數起別名,所以引用不會分配記憶體空間。
引用的宣告方法:型別識別符號 &引用名=目標變數名;(如int &ptr = num;)
二、引用與指標的區別
1、指標是乙個實體,需要分配記憶體空間。引用只是變數的別名,不需要分配記憶體空間。
2、引用在定義的時候必須進行初始化,並且不能夠改變。指標在定義的時候不一定要初始化,並且指向的空間可變。(注:不能有引用的值不能為null)
3、有多級指標,但是沒有多級引用,只能有一級引用。
4、指標和引用的自增運算結果不一樣。(指標是指向下乙個空間,引用時引用的變數值加1)
5、sizeof 引用得到的是所指向的變數(物件)的大小,而sizeof 指標得到的是指標本身的大小。
6、引用訪問乙個變數是直接訪問,而指標訪問乙個變數是間接訪問。
指標與引用
摘自 高質量c 程式設計 指標與引用,在more effective c 的條款一有詳細講述,我給你轉過來 條款一 指標與引用的區別 指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用...
引用與指標
引用就是物件的另乙個名字,在實際的程式中,引用主要用作函式的形式引數。引用是一種復合型別,通過在變數名前新增 符號來定義。復合型別是指用其他型別定義的型別。在引用的情況下,每一種引用型別都 關聯到 某一其他型別。引用必須用與該引用同型別的物件初始化。當引用初始化後,只要該引用存在,它就保持繫結到初始...
指標與引用
include iostream using namespace std void testref int i 10 引用不可以為空,他是乙個物件的別名 int ref i ref cout i 00824f1e mov dword ptr i 1 把i的位址傳入eax 並把eax指標的位址傳給re...