C++中的参数传递

在c++中参数的传递分为两种:“值传递”和“引用传递”。值传递不能改变参数的值,引用传递能改变参数的值。指针参数是值传递的一种情况,看似能改变参数的值,实际上能改变的是指针所指对象(不是参数)的值,真正的参数(指针,即地址)并没有改变。其实,不论是“传值”还是“传引用”,我们都可以将参数传递的过程看成是”给形参赋值“的过程,即: <类型> 形参a = 实参b。下面有三个例子:

例1:
函数原型 void add(int a);
实参         int b=1;
函数调用 add(b);
传递过程 int a = b
效果:     a和b是不同的对象,互不影响

例2:
函数原型 void add(int *a);
实参         int b=1;
函数调用 add(&b);
传递过程 int *a = &b
效果:     a和b是不同的对象,互不影响;但是*a和*(&b)指向同一对象;

例3:
函数原型 void add(int &a);
实参         int b=1;
函数调用 add(b);
传递过程 int &a = b
效果:     a是b的引用,表示同一个对象。更改a的值能更改b的值

在学习编程过程中,往往将形参a和实参b取相同的名字,这样可能将实参和形参搞混,不利于对函数参数传递过程的理解
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值