一.定义
C++是一种强类型语言,不能把不是同类型的指针相互赋值,如过发生,必须强制类型转换.
C++中的引用(&)象一个自动能被编译器逆向引用的常量指针.
for ex:
int x=0;
int &a=x;
a++;
这里增加a事实上就是增加x.
二 区别
(1)初始化区别.
当引用被创建时,它必须被初始化,指针可以在任何时候被初始化.
(2)NULL区别
不可能有NULL引用.必须确保引用是和一块合法的存储单元关联.
可以给指针赋NULL.
(3)可修改性区别
一旦一个引用被初始化为指向一个对象,它就不能被改变为对另一个对象的引用.
指针可以在任何时候指向另一个对象.
(4)合法性检查
在使用引用之前不需要测试它的合法性.因为编译器会强迫它初始化.
指针则应该总被测试,防止其为空。