C++中,引用与取地址有什么区别?

[复制链接]
查看11 | 回复3 | 2020-3-23 12:25:01 | 显示全部楼层 |阅读模式
一、功能不同1、引用:用来进行传值。2、取地址:用来获取首地址。二、运算不同1、引用:对引用求地址,就是对目标变量求地址。&ra与&a相等。即常说引用名是目标变量名的一个别名。2、取地址:是这样一种运算,返回一个指针,该指针的值是当时声明p 时开辟的地址,指针的类型是p的类型对应的指针类型。三、特点不同1、引用:引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。2、取地址:使用&运算符取地址的时候却不需要加任何强转就能编译通过。参考资...
回复

使用道具 举报

千问 | 2020-3-23 12:25:01 | 显示全部楼层
所谓引用就是为对象起一个别名。例如变量b = &a,b就是a的一个引用。对b的任何操作等同于对a的操作,也就是说,如果你改变了b的值,同时a的值也会发生改变。b就是a的另外一个名字,他们实质是同一个变量。就好比是同一个人,只不过穿着不同的衣服而已。至于引用的用处,给你举一个简单的例子,比如一个交换两个值的函数swap(int a, int b),如果将两个值...
回复

使用道具 举报

千问 | 2020-3-23 12:25:01 | 显示全部楼层
引用&,你可以理解为给变量起了个别名。只有在定义和声明或者说明参数类型的时候才用,平时引用变量和普通变量一样比如:
int& b;//只是说明作用
b=8;
取地址符号&是一个“动作”,表示取该变量的地址。比如:
int a = 8;
int *b= ...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行