一.定義
C++是一種強類型語言,不能把不是同類型的指針相互賦值,如過發生,必須強制類型轉換.
C++中的引用(&)象一個自動能被編譯器逆向引用的常量指針.
for ex:
int x=0;
int &a=x;
a++;
這裏增加a事實上就是增加x.
二 區別
(1)初始化區別.
當引用被創建時,它必須被初始化,指針可以在任何時候被初始化.
(2)NULL區別
不可能有NULL引用.必須確保引用是和一塊合法的存儲單元關聯.
可以給指針賦NULL.
(3)可修改性區別
一旦一個引用被初始化爲指向一個對象,它就不能被改變爲對另一個對象的引用.
指針可以在任何時候指向另一個對象.
(4)合法性檢查
在使用引用之前不需要測試它的合法性.因爲編譯器會強迫它初始化.
指針則應該總被測試,防止其爲空。