1. 程式人生 > >引用與指標區別

引用與指標區別

區別:

  1. 引用不能為空,當引用被建立時,它必須被初始化;指標可以為空值,可以在任何時候被初始化
  2. 一旦一個引用被初始化為指向一個物件,它就不能改變為另一個物件的引用。指標則可以在任何時候指向另一個物件
  3. 不可能有NULL引用,必須確保引用是和一塊的合法的儲存單元關聯
  4. sizeof( 引用 )得到的是所指向的變數(物件)的大小;sizeof( 指標 )得到的是指標本身的大小
  5. 給引用賦值修改的是該引用所關聯的物件的值,而並不是使引用與另一個物件關聯
int  i = 3,j = 1;
int &ref = i;
ref = j;//是將 i 修改為1,而不是繫結到 j ;
  1. 使用引用時不需要解引用,而指標需要解引用,引用和指標的自增(++)操作運算意義不一樣
  2. 如果返回動態分配的物件或記憶體,必須使用指標,引用可能引起記憶體洩漏
  3. 當使用 & 運算子取一個引用的地址時,其值為所引用變數的地址;而對指標使用 & 運算,取的是指標變數的地址