参考函数

在前三课,你学到了传递的参数的值,参考函数,和地址。在本节中,我们将考虑返回值返回给调用者通过所有三个方法问题。

事实上,从一个函数的地址值,它的调用者返回值,或参考作品几乎完全相同的方式作为参数传递给一个函数是。所有的好处和缺点的每个方法都存在。两者之间的主要差别是,数据流的方向是相反的。然而,有一个更增添了几分复杂,因为在一个函数的局部变量超出范围的函数返回时,我们需要考虑这种效果在每个返回类型。

(作者注:这节课有一个有趣的课数,因为它最初是从7章略)

返回值

返回值是最简单和最安全的返回类型使用。一个值时,返回的值,该值的一个副本被返回给调用者。是按值传递的,你可以通过文字返回值(如5),变量(如X),或表达(如x + 1),这使得价值非常灵活的回报。

通过价值回归的另一个优点是,您可以返回变量(或表达式),涉及的局部变量在函数声明。因为变量的功能超出范围之前,评估,和副本的值返回给调用者,没有问题,当变量超出范围在函数的末尾。

1

2

3

4

5

国际doublevalue(int NX)

{

int值= nx×2;

返回值;/复制值会回到这里

} //值超出范围

返回值是最合适的退货时变量在函数声明,或返回函数的参数是按值传递的。然而,像传值,返回的值是缓慢的结构和大类。

引用返回

就像通过参考,返回的值的引用必须是变量(你不能返回一个引用到一个文字或表达式)。一个变量时,返回的引用,一个变量的引用传递回调用方。然后打电话者可以使用这个参考继续修改的变量,它可以是有用的时候。引用返回的也快,可返回时的结构和类。

然而,返回引用有一个附加的缺点,通过参考不通你不能通过引用返回函数的局部变量。考虑下面的例子:

1

2

3

4

5

int和doublevalue(int NX)

{

int值= nx×2;

返回值;//返回一个参考值在这里

} //值超出范围

看到这里的问题?函数是试图返回一个参考值,将超出范围时,该函数将返回。这意味着调用方接收参考垃圾。幸运的是,你的编译器将如果你尝试这样做,给你一个错误。

引用返回通常用于引用返回的函数返回给调用者传递参数。在下面的例子中,我们返回(参考)的阵列,通过引用传递给函数的元素:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值