C++中引用&与取地址&的区别分析

时间:2021-05-20

C++中的引用&与取址&是很多初学者经常容易出错的地方,今天本文就对此加以分析总结,供大家参考之用。

具体而言,一个是用来传值的 一个是用来获取首地址的

&(引用)==>出现在变量声明语句中位于变量左边时,表示声明的是引用.

例如:

int &rf; // 声明一个int型的引用rf

&(取地址运算符)==>在给变量赋初值时出现在等号右边或在执行语句中作为一元运算符出现时表示取对象的地址.

在C++中,既有引用又有取地址,好多人对引用和取地址不是很清楚,因此也无法区分。其实他们的区别可以用一句话概括:和类型在一起的是引用,和变量在一起的是取址。下面我们通过实例具体了解一下

1)引用在赋值=的左边,而取地址在赋值的右边,比如:

int a=3;int &b=a; //引用int *p=&a; //取地址

2)和类型在一起的是引用,和变量在一起的是取址。 举例同样如上,还有下例:

int function(int &i){ } //引用

3)对于vector,上面2条同样适合

vector<int> vec1(10,1); //initialize vec1: 10 elements, every element's value is 1vector<int> &vec2 = vec1; // vec2 is reference to vec1vector<int> *vec3 = &vec2; //vec3 is addresss of vec1 and vec2

希望本文所述对大家C++程序设计的学习能够有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章