栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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);//此时的&是地址运算符
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/311655.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号