学习心得——参数传递

本文详细介绍了函数参数传递的三种方式:实参值传递、指针传递和引用传递。实参值传递通过复制实参的值创建形参副本,形参无法改变实参值;指针传递传递实参地址,形参可修改实参值;引用传递形参直接指向实参,修改形参即修改实参。指针和引用传递在处理大型对象时更为高效,且引用传递需注意使用常引用避免意外修改。
摘要由CSDN通过智能技术生成

           函数的参数传递(parameter passing)有三种类型:实参值传递(argument value passing)、指针传递(pointer passing)和引用传递(reference passing)。其中实参值传递和指针传递本质上是相同的,传递的是变量的。引用传递的本质是传递地址,故称为地址传递。(这些是我自己归纳的,不是很准确,关键在于理解)

 

一、实参值传递

        所谓实参值传递,就是变量名作为函数的实参(argument)和形参(parameter)。

        当函数调用的时候,实参的值被复制,然后赋给形参。也就是说,形参是实参的一个副本(copy)。

        这个复制的过程是由形参所属的数据类型的复制构造函数(copy constructor)完成的,在函数运行结束后,形参所属的数据类型的析构函数负责释放该形参。

        形参作为一个局部变量,它的作用域在函数内部,一旦跳出了函数,形参的值不被保存,这样在函数体内就不能改变实参的值。当函数返回时,形参的值不会被复制到对应的实参中去。

        整个传递过程是单向的。在调用函数时,形参和实参处于不同的存储单元。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值