指針與引用的區別

一.定義

C++是一種強類型語言,不能把不是同類型的指針相互賦值,如過發生,必須強制類型轉換.

C++中的引用(&)象一個自動能被編譯器逆向引用的常量指針.

for ex:

int x=0;

int &a=x;

a++;

 這裏增加a事實上就是增加x.

二 區別

(1)初始化區別.

     當引用被創建時,它必須被初始化,指針可以在任何時候被初始化.

(2)NULL區別

    不可能有NULL引用.必須確保引用是和一塊合法的存儲單元關聯.

    可以給指針賦NULL.

(3)可修改性區別

    一旦一個引用被初始化爲指向一個對象,它就不能被改變爲對另一個對象的引用.

 指針可以在任何時候指向另一個對象.

(4)合法性檢查

 在使用引用之前不需要測試它的合法性.因爲編譯器會強迫它初始化.

 指針則應該總被測試,防止其爲空。

發佈了30 篇原創文章 · 獲贊 2 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章