C++ 中的&:“&引用” 和“&取地址符”的区别和作用

引用

引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。

&作为引用的时候,必须在定义时候就进行初始化,若不进行初始化则会编译报错。

int N;
int &rN = N;

后面对rN 的操作,就是对N的操作。rN-1,则N减少1;

int function(int &i){
 i++;
}
 函数中的形参 int &i 也是引用; 
int function(int i){
    i++
    return i;
}
int functionReference(int &i){
i++;
return i;
}
int x = 5;
function(x);		//返回值:6, x :5
functionReference(x);	//返回值:6, x :6

取地址

&作为取地址用的时候,要跟指针联系在一起,因为指针就是用来存放地址的。

取地址就是你想取某变量(形参或者实参)的地址就用&前置表示要取地址了,取的是该变量的内存地址。

int N = 100;
int *p;
p = &N;

两者区别

引用的格式:
类型名  &  别名 = var;
1.定义的时候必须初始化,即& 前面有类名或类型名,&别名后面一定带 “=” (在= 左边);
2.&后面的别名是新的名字,之前不存在

&取地址时:
如果&是取址运算符,也就意味着取一个变量的地址并付给指针变量。&后面紧跟的是变量(已存在);


  • 43
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值