指针与引用的区别

来源:互联网 发布:java图形界面开发 编辑:程序博客网 时间:2024/06/07 02:09

1.引用是对象的一个别名

int   a = 1;

int& b = a;

b引用了a,b是a的一个别名

 

2.不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)

int& a = NULL; //错误

int* b = NULL;//正确

 

3.引用被创建的同时必须被初始化,一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)

以下示例程序中,k被初始化为i的引用。 

语句k = j并不能将k修改成为j的引用,只是把k的值改变成为1。 

由于k是i的引用,所以i的值也变成了1。 

int i = 0; 

int j = 1; 

int &k = i; 

k = j; // k和i的值都变成了1; 

原创粉丝点击