C++引用形参和非引用形参

#include<iostream>usingnamespacestd;voidreset(int&i){i=0;}intmain(){intj=10;reset(j);... #include<iostream>
using namespace std;
void reset(int &i)
{
i=0;
}
int main()
{
int j=10;
reset(j);
cout<<j<<endl;
return 0;
}
这段代码输出结果是0,把形参改成非引用类型:
#include<iostream>
using namespace std;
void reset(int i)
{
i=0;
return i;
}
int main()
{
int j=10;
reset(j);
cout<<j<<endl;
return 0;
}
这里调用reset并不会改变j的值,我想知道这是为什么?我是初学者,有点搞不明白,希望大神指教。
展开
 我来答
wchyumo2011
推荐于2016-06-13 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2824万
展开全部
所谓引用,就是一个变量的别名,所以使用引用类型的形参的时候实际上传递的是该实参本身,所以对其变量的改变是直接改变实参的值的
而非引用类型的形参在参数传递时传递的是实参的一份拷贝,对这份拷贝的改变,不影响实参的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式