c++函数返回值传递与参数问题

 我来答
建昆纶殳顺
2019-11-12 · TA获得超过3万个赞
知道大有可为答主
回答量:9966
采纳率:34%
帮助的人:1065万
展开全部
你第二种的用的是传值,这种方法相当于是把你外面的那个D做了个副本传进去,但是传进去的不是D本身。
举个简单的例子,
int
func(int
x){x++}
....
main(){int
a=1;
func(a);}
那这个举例来说,外面的a=1;但是传入的时候,其实是相当于把a复制了一个参数传入。实际编译器调用的是fun(1),然后int
x=1;所以里面x++改变了以后,a并不改变。
但是你要是传值引用,func(int
&
x)实际上传进去的是地址,那么调用的时候编译器会让x指向a的地址,这样当x++的时候,实际上是把内存上的值改变了,所以你传引用的时候值才能传进去
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式