引用有什么作用?用在什么時候?

【引用有什么作用?用在什么時候?】

引用有什么作用?用在什么時候?


引用就是某一變量(目標)的一個別名 , 對引用的操作與對變量直接操作完全一樣 。引用的聲明方法:類型標識符 &引用名=目標變量名; 【例1】:int a; int &ra=a; //定義引用ra,它是變量a的引用 , 即別名 說明: (1)&在此不是求地址運算 , 而是起標識作用 。(2)類型標識符是指目標變量的類型 。(3)聲明引用時 , 必須同時對其進行初始化 。(4)引用聲明完畢后 , 相當于目標變量名有兩個名稱 , 即該目標原名稱和引用名 , 且不能再把該引用名作為其他變量名的別名 。ra=1; 等價于 a=1; (5)聲明一個引用 , 不是新定義了一個變量 , 它只表示該引用名是目標變量名的一個別名 , 它本身不是一種數據類型 , 因此引用本身不占存儲單元 , 系統也不給引用分配存儲單元 。故:對引用求地址 , 就是對目標變量求地址 。&ra與&a相等 。(6 ) 不能建立數組的引用 。因為數組是一個由若干個元素所組成的集合 , 所以無法建立一個數組的別名. (7)不能建立引用的引用 , 不能建立指向引用的指針 。因為引用不是一種數據類型 , 所以沒有引用的引用 , 沒有引用的指針 。例如: int n; int &&r=n;//錯誤 , 編譯系統把"int &"看成一體 , 把"&r"看成一體 , 即建立了引用的引用 , 引用的對象應當是某種數據類型的變量 int &*p=n;//錯誤 , 編譯系統把"int &"看成一體 , 把" *p "看成一體 , 即建立了指向引用的指針 , 指針只能指向某種數據類型的變量 (8)值得一提的是 , 可以建立指針的引用 例如: int *p; int *&q=p;//正確 , 編譯系統把" int * "看成一體 , 把"&q"看成一體 , 即建立指針p的引用 , 亦即給指針p起別名q 。

    猜你喜歡