C++函数的传值、传引用、传指针

C++函数传递参数的方式主要有三种:传值传引用传指针,三者可以在声明中看出来区别。

  1. 传值
    当不需要修改传递的参数值时,使用传值。此类情况最多,也最安全,形如

     double function(int a,int b);//传值函数声明
     
     int x,y;
     double result=function(x,y);
    

    此时传入函数的只是参数的副本,无论是怎么操作,外部原参数的值不会改变

  2. 传引用
    引用是“别名”,因此还是参数本身,不过是参数多了个别名,参数有了两个名字。例如声明引用

    int a=10;
    int &b=a;  //此时b是a的别名,是同一个参数,修改b就是修改a
    

    当需要对参数值进行修改时,则可以传引用,这时传入参数的别名,是同一个参数,修改的话自然原参数的值也就变了,形如
    注意此时&引用并不是地址运算符,这是个运算符的重载

    double function(int &a,int &b);//传引用函数声明
    
    int x,y;
    double result=function(x,y);//使用函数时看不出来是引用,只能从函数声明和定义中看出来是传引用
    
  3. 传指针
    指针是传入的参数的地址,所以在函数内部是能用指针解除引用*来使用参数,直接在原地址修改参数,自然也能改变原参数的值,形如

     double function(int *a,int *b)//*说明是指针变量
     {
     	double c;
     	c = *a + *b;
     	return c;
     };//传指针函数声明
     
     int x, y;
     double result=function(&x, &y);//此时的&是地址运算符
    
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值